岛国av女优最新电影网站,啊灬啊灬啊灬快灬深视频无遮掩,撕开奶罩揉吮奶头高潮av,色婷婷aV一区二区三区麻豆综合

租用幫助

大家在使用 AWS S3過程中如何優化下載?
2023-05-11 16:04:01
閱讀()
來源:互聯數據
摘要: ? ? 大家在使用 AWS S3過程中總會遇到一些問題。我們在AWS S3桶中保存用戶特定的可下載文件。我們的客戶在全世界范圍內從這些桶中下載文件。文件大小從1-20GB不等。對于較大的文件,非美國地區的客戶面臨并抱怨下

大家在使用 AWS S3過程中總會遇到一些問題。我們在AWS S3桶中保存用戶特定的可下載文件。我們的客戶在全世界范圍內從這些桶中下載文件。文件大小從1-20GB不等。對于較大的文件,非美國地區的客戶面臨并抱怨下載速度慢或下載中斷的問題。我們怎樣才能優化這些下載?


AWS國際站代充優惠鏈接http://www.bxgb88.com/zt/2023-05-06/


一、如何提高 S3 性能?


解決方法:S3 index 和實際數據分開存放。默認一個 bucket 所有 object 都位于同一個分區。如果 object 數量太多,而請求速率又不高時,S3 會根據 key name 自動分區。但是,如果請求速率太高,會耗盡 S3 分區的 IO,觸發限制,可能會返回503 Slow Down 錯誤。


盡量利用 hash 或者倒序,使 S3 前綴隨機化。如果讀寫請求過高,可以向 AWS 提交 S3 分區請求,或者采用指數退避(exponential backoff)算法,增加請求的重試等待時間。盡管如此,仍然需要遵循 S3 key name 隨機化原則??梢詫τ谀硞€目錄下的已經隨機化的 object 進行分區。


例如:S3 bucket 的 log 目錄下的.log 對象前綴已經做了隨機化。

S3://bucket/log/A0B1.log

S3://bucket/log/C2D3.log

S3://bucket/log/E4F5.log


在提交請求時,除了請求速率,還需要填寫 pattern,注明 log/ 目錄下是如何進行隨機化的。后臺就可以在 S3://bucket/log/ 后面進行分區。


S3 不限制帶寬。但是,也不要對 S3 進行壓力測試。實際的傳輸速率和客戶端到 S3 的網絡有關。如果客戶端請求很多,可以使用 CDN 進行加速。


AWS S3如何優化下載


二、有很多小文件,如何有效上傳到 S3?


解決方法:如果可能,盡量先壓縮成大文件再上傳。一方面,減少大量小文件上傳時,TCP 連接建立和斷開的開銷。另外一方面,S3 雖然上傳流量不收費,但是請求仍然收費。


三、需要在本地到 S3 之間每日同步文件,現有文件數量非常多(幾百萬),如何提高效率?


aws s3 sync 命令可以同步本地到 S3 的文件,只同步變化的部分。但是,sync 需要先列出 LIST S3,以進行比較。如果文件數量非常巨大,LIST 所有對象,非?;ㄙM時間,甚至可能卡住。


解決辦法:只同步變化的目錄。例如,按照日期目錄來同步。


aws s3 sync /data/2018/03/13 s3://bucket/data/2018/03/13


如果每天變化的數據分布在不同目錄,可以把這些變化記錄在 Dynamodb,在同步時,只同步變化的部分。


四、S3 是否支持斷點續傳?


解決方法:斷點續傳的實現,在于根據 content-length 劃分成多個 range,沒有傳完的,可以保留,下次可以繼續傳輸。


S3 支持 multi-part 分段傳輸。分三個步驟:


1、Initiate Multipart Upload:初始化任務。

2、Parts Upload:把文件分成多塊,每個塊都有一樣的 upload ID,和不同的 part number。不同的分塊分別傳輸,與順序無關。

3、Complete Multipart Upload:所有分塊完成后,把分塊合并成 S3 對象。一般的程序,例如 AWS CLI,如果有部分沒有完成,并且重試后超時,那么會調用 Abort Multipart Upload,所有已經上傳到 S3 的部分全部刪除,任務終止。


S3 沒有提供直接斷點續傳 API,可以自己在程序加個邏輯來實現。如果在第二階段有部分一直沒有傳完,就不會調用第三階段的 Complete/Abort。這樣,已經傳輸完成的部分會一直放在 S3,直到 Complete/Abort。


五、 應用程序在下載S3文件時,會判斷MD5以防止文件傳輸中被篡改,但是大文件總是出錯。


S3 大文件傳輸使用 multi part 分段。對于每一段,分別計算 MD5。最后在任務完成時,把所有分段的 MD5,再進行 MD5 計算,得到 S3 Etag 值。


應用程序只對比了某一段的 MD5 值,與 S3 Etag 不一致,因此出現錯誤。


六、在移動應用上傳到S3的場景下,S3 Pre-singed URL和Cognito方式,有何區別?


最后一點解決方法:移動客戶端在上傳時,需要在服務器生成 Pre-signed URL,返回客戶端??蛻舳艘源伺R時 URL,無需 credentia l即可上傳。實際上,上傳時,使用的是服務器生成 URL 時的 IAM 用戶權限,相當于以此 IAM 用戶來上傳。此方式的限制在于,pre-signed URL 不知道整個上傳對象的大小,因此不能使用 S3 multi-part,對于大文件的傳輸效率比

0

上一篇:新加坡vps 云端服務器和新加坡vps有啥不同?
下一篇:部署AWS EC2會遇到哪些問題?
HKT4為您的網站提供全球IDC資源
立即免費測試