2012-02-22 37 views
1

我正在構建一個Web應用程序,允許用戶上傳高分辨率圖像(在10mb的球場中)。上傳後,它會創建一箇中等大小的縮略圖大小的上傳圖片。它似乎佔用了100MB以上的內存分配給PHP只是爲了調整到中等圖像。在這種可擴展性方面我沒有太多的經驗,網站容易崩潰嗎?我是否需要具有16GB內存的Web服務器才能處理調整大小的負載?有其他選擇嗎?任何信息將不勝感激!許多用戶上傳很多大型照片的建議?

謝謝!

回答

0

您可以創建圖像的隊列進行調整,並確保在任何給定的時間只有x個圖像被調整大小。 x將取決於可用內存的數量。

如果您在上載圖片後立即調整圖片大小,您肯定會遇到更多圖片被調整大小而不是內存可容納的情況,這會導致圖片崩潰。

相反,當圖像上傳時,將它們添加到數據庫中。然後有一個PHP腳本從數據庫中提取x個圖像,爲每個這些圖像分配新的進程以重新規劃它們。當進程向父進程報告完成時,父進程從隊列中刪除映像的條目並獲取另一個進程。清洗,沖洗,重複。

0
  • 運行基準測試
  • 做處理在後臺
  • 在非高峯時段做處理
  • 使用更輕庫
+0

什麼是輕庫?目前我使用的GD,因爲它是我的託管服務提供商有 – ehftwelve 2012-02-22 05:23:23

+0

抱歉,並不意味着暗示我知道,我只是想象通過PHP運行GD可能不是最佳的批處理 – miki 2012-02-23 04:49:43