實時裁剪壓縮圖片服務器:Bolt
Bolt
Bolt - The Realtime Image Compress System
介紹
Bolt是一個實時裁剪壓縮圖片服務器,其比nginx的image_filter快2倍以上,主要是因為Bolt對一張圖片只做一次處理,就算在處理圖片的過程中,其他的客戶端也在請求此圖片,Bolt也能保證只有一個線程在處理此圖片。
另外Bolt替換緩存機制,處理過的圖片不再進行第二次處理,除非內存不足的時候,Bolt才會處理LRU算法來刪除緩存中的圖片,在啟動Bolt的時候可以使用“--max-cache”啟動參數來設置最大內存限制。Bolt使用LRU算法來淘汰緩存的圖片,也就是說一般只會淘汰較少訪問的圖片,這就可以很好的限制Bolt的內存使用。
用在哪里
Bolt可以用在內存和CPU都過剩的服務器,另外使用Bolt可以減少磁盤的使用,加快圖片的加載速度。
安裝
-
安裝libevent (http://libevent.org/)
-
安裝ImageMagick (http://www.imagemagick.org/script/index.php)
-
安裝Bolt
$ git clone https://github.com/liexusong/bolt $ cd bolt $ make
Bolt啟動項說明
-
--host 設置綁定的IP
-
-port 設置監聽的端口
-
--workers 啟動多少個worker線程(用于裁剪圖片)
-
--logfile 日志文件輸出的路徑
-
--logmark 日志要顯示的級別,可以選擇(DEBUG|NOTICE|ALERT|ERROR)
-
--max-cache 設置Bolt可以使用的最大內存(單位為字節)
-
--gc-threshold GC要清理的閥值(也就是說GC會清理到max-cache的百分之多少停止,可選值為0 ~ 99)
-
--path 要進行裁剪的圖片源路徑
-
--daemon 是否啟動守護進程模式
-
--help 顯示幫助信息