簡體   English   中英

可以加快圖像在php / imagick中的加載

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM