部落格

工程

Mythex 是如何打造和營運的,包括哪裡出了問題、我們怎麼修好。

工程

Mythex 是如何打造和營運的,包括哪裡出了問題、我們怎麼修好。

  • 失敗的重新發布絕不會刪除運作中的後端 — 失敗的重新發布可能會刪掉應用程式正在運作的 API,或讓壞掉的新版本繼續執行。說明 Mythex 如何修正復原發布失敗時的三個問題。
  • 警示只發一次,而不是每台伺服器各發一次 — 每天只該送一次的警示,一個下午就送了五次。說明為何兩台伺服器加上部署會讓記憶體內的去重失效,以及共享狀態如何修正。
  • 換到更大的工作區,又不讓任何人等待 — 約四分之一的工作區在我們升級到 2 GB 後仍停留在 1 GB。我們第一次的修正讓一位使用者等了七分鐘。說明我們做了什麼,以及為何又改了一次。
  • 依實際用量計費的資料庫 — 過去我們預估每個應用程式的資料庫費用,而且估算在兩個方向上都不準。現在每個資料庫都依實際量測的用量,以每小時為單位計費。
  • 攔下發布後立即當機的應用程式 — 三次發布都通過了健康檢查,但 API 每次開機幾秒後就當機。原因是以最多五筆的清單來計算當機次數。現在改為比對最新一次當機的時間。
  • 讓大量圖片的代理回合留在記憶體之內 — 一個持續查看商品目錄掃描檔的代理回合,在 952 MB 時耗盡記憶體。三個各自讓圖片保留過久的成因,以及我們如何修正。
  • 讓長時間的代理作業留在上下文視窗之內 — 我們的子代理可能會成長到模型拒絕處理、為了省空間而提早停止,或在俄文中誤算權杖數。三項修正讓長時間的 AI 作業能夠完成。
  • 手機休眠時讓對話保持連線 — 手機會休眠、切換分頁、中斷網路。兩個錯誤讓 Mythex 的對話卡住,或事後只顯示半則回覆。說明我們如何找到並修正這兩者。
  • 一個龐大的對話可能會讓我們的 API 停擺 — 9 月 28 日,我們的兩台 API 伺服器同時耗盡記憶體。第一個修正是增加記憶體;真正的解法,是依大小而非筆數來載入對話歷史。
  • 連按兩次發布,現在只會發布一次 — 同一個應用程式的三個發布請求在相隔 84 毫秒後抵達,每個都觸發了一次完整部署。我們如何讓資料庫決定由誰發布,並誠實告知其他請求。
  • 修正自家網站的 SEO 心得 — 重複的 FAQ 標記、Google 使用錯誤的縮圖、沒人點擊的範本頁面,以及邊緣伺服器拒絕的路徑:我們在 mythex.ai 上發現的問題與修正方式。
  • 靜態網站重新發佈時仍維持上線 — 過去重新發佈靜態網站時,會先清空線上檔案,再上傳新建置。現在舊網站會持續提供服務,直到新網站就位,變更幾秒內即可顯示。
  • 藏在進度標籤裡的記憶體不足當機 — 我們的 AI 代理人在寫入一個很大的檔案時記憶體不足。原因不是模型,也不是平行的子代理人,而是一個狀態標籤被重送了 41,000 次。
  • 凍結我們伺服器的那個缺少的交換檔 — 一台正式環境伺服器停止回應,但沒有當機——沒有記憶體不足的終止,只有沒有交換空間的機器上頁面快取不斷抖動。發生了什麼,以及我們改了什麼。
  • 喚醒資料庫時不帶著失效的連線 — 已發佈的 App 從休眠中醒來時,第一個請求會在睡眠期間已失效的資料庫連線上卡住 10–12 秒。我們如何把它降到 2.3 秒。
  • 我們一直在限制自己的服務 — 我們 API 的每位址速率限制把自家服務當成一個忙碌的人,於是在正式環境中它們開始收到 429。我們如何找到並修正它。
  • 我們為什麼把 Mythex 的伺服器遷移到 ARM — 當繁重的工作移到每個專案的沙盒後,我們的伺服器只用到三分之一的記憶體。較小的 ARM 機器讓成本降低約 30%。以下是做法。
  • 我們如何把部署的 502 錯誤降到零 — 一個與部署競爭的看門狗,以及一個太晚察覺的負載平衡器:我們如何找到並修正兩者,並把每次部署的 502 從 10 個量測為零。

Mythex · 價格 · 常見問題 · 指南 · 部落格 · 使用案例 · 用 AI 打造 · 範本 · Mythex 比較 · AI 應用程式開發詞彙表 · 免費的 AI 應用程式開發工具 · 關於我們

Mythex 適合…

  • Mythex 團隊版
  • Mythex 創辦人版
  • Mythex 產品經理版
  • Mythex 設計師版
  • Mythex 行銷版
  • Mythex 業務版
  • Mythex 營運版
  • Mythex 人資版
  • 網站
  • 原型設計
  • 內部工具
  • 合作夥伴計畫

指南

  • 打造教學
  • 比較
  • 概念解說
  • 點子與上市
  • 提示與交付

部落格

  • 工程
  • 產品
  • 公司
English Português (Brasil) Deutsch Français Español Italiano हिन्दी Bahasa Indonesia ไทย 한국어 日本語 العربية 简体中文 繁體中文(香港) Русский Türkçe Tiếng Việt Polski Nederlands Українська فارسی اردو Español (España) Français (Canada) Português (Portugal) Shqip Bosanski Български Català Hrvatski Čeština Dansk Eesti Suomi Ελληνικά Magyar Íslenska Latviešu Lietuvių Македонски Norsk bokmål Română Srpski Slovenčina Slovenščina Svenska বাংলা ગુજરાતી ಕನ್ನಡ മലയാളം मराठी ਪੰਜਾਬੀ தமிழ் తెలుగు Bahasa Melayu Tagalog မြန်မာ Қазақ тілі Монгол Հայերեն ქართული አማርኛ Soomaali Kiswahili