Bolt - The Realtime Image Compress System
Bolt是一個實時裁剪壓縮圖片服務器,其比nginx的image_filter快2倍以上,主要是因為Bolt對一張圖片只做一次處理,就算在處理圖片的過程中,其他的客戶端也在請求此圖片,Bolt也能保證只有一個線程在處理此圖片。
另外Bolt替換緩存機制,處理過的圖片不再進行第二次處理,除非內(nèi)存不足的時候,Bolt才會處理LRU算法來刪除緩存中的圖片,在啟動Bolt的時候可以使用“--max-cache”啟動參數(shù)來設置最大內(nèi)存限制。Bolt使用LRU算法來淘汰緩存的圖片,也就是說一般只會淘汰較少訪問的圖片,這就可以很好的限制Bolt的內(nèi)存使用。
Bolt可以用在內(nèi)存和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
--host 設置綁定的IP
-port 設置監(jiān)聽的端口
--workers 啟動多少個worker線程(用于裁剪圖片)
--logfile 日志文件輸出的路徑
--logmark 日志要顯示的級別,可以選擇(DEBUG|NOTICE|ALERT|ERROR)
--max-cache 設置Bolt可以使用的最大內(nèi)存(單位為字節(jié))
--gc-threshold GC要清理的閥值(也就是說GC會清理到max-cache的百分之多少停止,可選值為0 ~ 99)
--path 要進行裁剪的圖片源路徑
--daemon 是否啟動守護進程模式
--help 顯示幫助信息