第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

LAMP:如何為用戶動態(tài)創(chuàng)建.Zip大型文件,無需磁盤/ CPU抖動

LAMP:如何為用戶動態(tài)創(chuàng)建.Zip大型文件,無需磁盤/ CPU抖動

PHP
慕運維8079593 2019-08-30 17:35:13
通常,Web服務需要壓縮幾個大文件以供客戶端下載。最明顯的方法是創(chuàng)建一個臨時zip文件,然后將echo其創(chuàng)建給用戶或將其保存到磁盤并重定向(將來某個時間刪除它)。但是,這樣做有缺點:密集的CPU和磁盤顛簸的初始階段,導致......準備好存檔時,用戶會有相當大的初始延遲每個請求的內存占用非常高使用大量臨時磁盤空間如果用戶取消下載中途,初始階段(CPU,內存,磁盤)中使用的所有資源都將被浪費像ZipStream-PHP這樣的解決方案通過將數據按文件鏟入Apache文件來改進這一點。但是,結果仍然是高內存使用率(文件完全加載到內存中),以及磁盤和CPU使用率的大幅飆升。相反,請考慮以下bash片段:ls -1 | zip -@ - | cat > file.zip  # Note -@ is not supported on MacOS這里,zip以流模式運行,導致內存占用量低。管道具有整數緩沖區(qū) - 當緩沖區(qū)已滿時,OS會暫停寫入程序(管道左側的程序)。這樣可確保zip其輸出速度與輸出速度一樣快cat。然后,最佳方式是執(zhí)行相同的操作:cat使用Web服務器進程替換,將zip文件流式傳輸給用戶,并將其動態(tài)創(chuàng)建。與僅流式傳輸文件相比,這將產生很少的開銷,并且將具有無問題的,非尖峰的資源配置文件。如何在LAMP堆棧上實現這一目標?
查看完整描述

3 回答

  • 3 回答
  • 0 關注
  • 473 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號