圖片服務器,學習,借鑑

1. nfs +nginx
nfs把圖片存儲共享給前端機器nginx,nfs多臺機器,最好按年份分,然後都存滿空間
這樣瓶頸就是nfs了
2.多臺image+nginx
多臺圖片image分id,前端傳圖片給圖片服務器,這樣就會有延遲

圖片的存儲硬件
把圖片存儲到什麼介質上? 如果有足夠的資金購買專用的圖片服務器硬件或者 NAS 設備,那麼簡單的很;
如果上述條件不具備,只想在普通的硬盤上存儲,首先還是要考慮一下物理硬盤的實際處理能力。是 7200 轉的還是 15000 轉的,實際表現差別就很大。是選擇 ReiserFS 還是 Ext3 ,怎麼也要測試一下吧? 創建文件系統的時候 Inode 問題也要加以考慮,選擇合適大小的 inode size ,在空間和速度上做取捨,同時防患於未然,注意單個文件系統下文件個數別達到極限。
圖片存儲的技巧<!--more-->
       圖片服務器當前用年份來劃分,每年增加兩臺服務器,亦可是加兩塊硬盤;因爲舊數據2006和2007年的數據基本上是沒有變化的,圖片不存在修改,如果細心定製,那麼舊圖片服務器的硬盤99%塞滿是可以的,舊數據的容量基本上不會大幅增長,小小預留1-2G空間就可以了.
單獨的圖片服務器域名
比如yahoo.com 圖片服務器用了 yimg.com 的域名,這樣可以減少上行的頭信息,應用服務器也不用檢查權限.
單獨多個圖片服務器
無論從管理上,還是從性能上看,只要有可能,儘量部署獨立的圖片服務器。在 Web 服務器上就可以有針對性的進行配置優化。比如在選擇web服務器時,只考慮處理圖片的效率.
圖片共享
如果不想在幾臺機器間同步所有圖片,只用 NFS 模式共享一下即可。注意軟、硬連接可能帶來的問題,以及 NFS 特定的傳輸速度。
採用操作系統層分佈式文件系統本身的同步功能
    採用應用層分佈式文件系統同步方案:FastDFS、MogileFS、Hadoop HDFS
    採用應用層第三方軟件同步方案:csync2+inotify、rsync、unison、DRBD、tsync
http服務器的選擇
    採用輕量級的Lighttpd、Nginx,不採用apache,apache最消耗內存.
Cache及反向代理

    Squid

    Lighttpd+mod_mem_cache
數據壓縮

    HTTP HEADER的Accept-Encoding
客戶端緩存

     HTTP HEADER的Expires、Cache-Control、Etag、Last-Modified參數設置
應用層優化
    圖片按需生成、圖片預先生成、根據應用場景降低圖片分辨率
圖片處理工具的選擇
可能大多數網站都是選擇 ImageMagick 做爲基礎庫,如果圖片處理量巨大,性能問題又怎能不考慮?
防盜鏈

       圖片相當佔用資源,一定要做好防盜鏈

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章