02.23
Thu

2017/02/24 16:00 更新:
感謝小艾的朋友A提供 MediaFire Pro 會員的空間,目前先將幾個大檔案放上去,應該能減緩流量問題。
但是因為 MediaFire 已經不支援透過 API 上傳檔案,只能短期使用而已。
(牽扯到目前小艾版補丁的更新方式,目前補丁完全靠小艾的伺服器自動發布,如果沒有API或FTP上傳的話就不能自動發布了)

--------------------------------------------------------

(๑•́ ₃ •̀๑) 因為預想到可能有不少人會問為什麼這次補丁更新時,下載速度很慢的問題,所以先寫這篇文章來解答。

直接切入正題,小艾目前使用的空間、伺服器如下

小艾版補丁伺服器
頻寬:100M/40M (Hinet)
流量:無限
費用:小艾自組的機器
小艾版補丁伺服器底下運作兩大主要功能
Project Shadow 伺服器:
負責分配、效驗、上傳更新檔,小艾的程式會連線到這台伺服器,然後這台伺服器會告訴安裝程式、更新程式要怎麼安裝,哪些檔案的MD5是多少,最新版本功能有哪些,等等的資訊。
並且「分配」流量到不同的空間,安裝程式或更新程式得知要更新的檔案有哪些之後,會詢問補丁伺服器檔案的放置位置。
備用檔案伺服器:
這台伺服器本身也有放置檔案,當另外兩個空間的流量達到上限的時候,就會開始使用這台的檔案。

Amazon Web Services‎ S3 Japan
頻寬:無限
流量:無限
費用:0.14USD/GB
AWS S3 是去年一開始的主要空間,特點是完全不在意頻寬問題,一次來3000人更新也毫無瓶頸,但是因為每月的費用隨著使用量不同而變化,目前只作為小檔案使用,小艾從補丁伺服器端限制了這個空間流量限制為 300GB,把帳單金額壓在每個月 30美金以下。

某 File Shard Host 空間(以下簡稱 FSH)
頻寬:宣稱每戶100M上傳
流量:600GB 每月
費用:3個月 9xxNT
這個先不公佈名稱,小艾一開始租用的時候速度伺服器都還不錯,小艾續了一次約之後空間商剛好轉換主機位址,在那之後整個反應速度大幅度下滑。

先說說補丁伺服器分配流量時的策略,各種大檔案會優先以 FSH 的空間為主,而小檔案則是以 AWS 為主。
FSH 的部份補丁伺服器設定為當月使用量到達 500GB 即不再使用,而 AWS 則是 300GB 之後不再使用。
以速度來講肯定是希望都能使用 AWS,這也是小艾去年開放捐贈之後個人的期望。

以 2017年2月 到今天為止來說總使用的流量:
AWS為15GB+89GB,其中 15GB 是一年內免費的流量,看起來只用了 100GB左右很少對吧?因為大檔案放在 FSH 那邊,這邊目前放的都是 10MB不到的小檔案。
AWS.jpg

FSH 的使用量為 514GB,幾乎所有大檔案都靠這個空間支撐。
FSH.jpg

小艾的伺服器本身的輸出流量大約是 150GB 左右。
Server.jpg

今天 2/23 更新的時候,流量先達到了 FSH 的限制,為了避免流量爆炸,補丁伺服器開始使用自己的空間來提供檔案下載,而 FSH 放置的剛好都是大檔案,以補丁伺服器 40M 的上傳來說,每秒 5MB/s 的速度並不足以應付。
從而導致了,中午開始到現在(晚上9點半),小艾的伺服器上傳頻寬一直處於滿載狀態。

要改善這情況,有幾種方法找另外一家能撐的起瞬間流量的空間供應商,或是全部改用 AWS。
找尋其他空間供應商的方式目前正在找,但是流量不是很貴的就是頻寬很小。
如果全部改用 AWS 的話,每個月的至少 60USD 的支出不算多,但是絕對也不少。

原本希望靠捐贈的方式來抵銷一部分 AWS 的費用,但是整體的情況不是很理想,而且現在補丁能自動更新不用開發布網頁也很大程度上減低了捐贈頁面被看到的機會。
小艾很謝謝所有捐贈過小艾的人,不論金額大小,對於抵銷支出都有一定的幫助。

因此關於目前更新速度緩慢的問題,從空間、流量上暫時沒有可行的解法...
如果你遇到了檔案無法下載、無法更新的問題,請參考以下的方式暫時性的解決問題:
一:打開補丁維護工具->補丁設定->功能總開關
二:將「暫時禁用可能引起衝突的功能」打勾
三:到補丁維護工具->補丁設定->補丁工具設定->自動更新
四:將自動更新功能打開,讓補丁自行檢查更新和功能

如果你覺得更新過程中那個進度視窗比較煩躁的話(如果更新它會出現跑到一半然後又消失),可以暫時將「更新時顯示進度」這個選項取消。

另外小艾發現有些使用者會因為更新失敗,而直接重裝補丁...
No!!!!!!!!!那樣只會吃更多流量,因為更新只要抓一部分的檔案就好,重裝要整個重新下載。

以上是這次的雜談,至於補丁使用的人數到底有多少...
UserTotal.jpg
(統計方式是,假如你的版本從6.0.75 更新到 6.0.76 了,那麼你就不會算在 6.0.75裡面)

back-to-top