[英]Possible to speed up image loading in php/imagick
我注意到在php $im = new Imagick($sFilename);
圖像加載到imagick( $im = new Imagick($sFilename);
)中需要花費0.8秒的時間來獲取8MB圖像。 這對我來說似乎有點慢,所以我嘗試了一個測試,而是使用file_get_contents
讀取了文件。 大約0.005秒。 更好。 tbh有點太好了,我想那兒有些緩存了嗎?
但是我可以將同一個文件加載到imagick中十次,並且總是〜0.6秒。
我可以告訴file_get_contents以某種方式繞過系統緩存,以便更好地了解可以從硬盤驅動器檢索8MB文件的原始速度嗎?
有什么可以做的來加快imagick的速度嗎? 還是0.6秒的操作時間完全正常?
該服務器在RAID 1中有兩個7200rpm HP sata驅動器。
謝謝。
有什么可以做的來加快imagick的速度嗎?
購買更快的CPU
還是0.6秒的操作時間完全正常?
是。
對我來說這似乎有點慢
但這似乎已經很長時間了。
我猜那里正在緩存嗎?
您只是在猜測應該更快一些.....並且您正在將其與完全不同的操作進行比較。 file_get_contents只是從磁盤上讀取文件中的字節。 從JPG創建圖像意味着計算機必須從磁盤上讀取字節,然后將它們從壓縮數據中解碼為實際圖像數據。
如果要查看壓縮過程中需要完成多少工作,可以通過以未壓縮的格式寫出圖像來輕松查看此情況,例如
$imagick = new Imagick("./testImage.jpg");
$imagick->setImageFormat('BMP');
$imagick->writeImage("./output.bmp");
是的,這比HTTP請求進行處理的合理時間長。 這就是為什么不在網絡服務器中運行Imagick是一個好主意,而是將其作為后台任務運行的另一個原因。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.