那麼,在asp.net應用程序中創建縮略圖圖像似乎比我想象的更加痛苦。在asp.net應用程序中重用imagemagick流程實例
我第一次使用System.Drawing中的東西,但當時我並不滿意的代碼,我只寫做一個固定的畫布上一些簡單的調整大小的量,然後我讀到微軟該系統的爭議討論的警告。繪圖可能會或可能不會在asp.net web上下文中運行,最後Bitmap操作的性能相當糟糕。
所以我切換到Imagemagick(即時通訊)爲了生成縮略圖。這實際上工作得很好,因爲我有在PHP中使用IM的經驗,並創建一個新的System.Diagnostics.Process是一個簡單的操作。但是,當我需要在一個請求(30或更多)中生成許多拇指時,CPU使用率會穿過屋頂(100%)並保持在那裏,直到創建最後一個拇指爲止。當然,這些圖像一旦被寫入就會被緩存 - 但這仍然讓我感到擔憂,因爲在服務器上還有其他應用程序,而這些應用程序在創建一些未緩存的大拇指時不應永久掛起。
如果你不熟悉ImageMagick的,這裏是我如何使用它的例子:
/path/to/im/convert.exe large.jpg ...some options... small.png
所以對於我創造新的CONVERT.EXE實例中的每個圖像(通過新的System.Diagnostics.Process)這就是可能會給服務器帶來太多的CPU負載。有沒有更好的方法來做到這一點?從Imagemagick切換到另一個圖像創建解決方案不是一種選擇。
PS:是的,這是我之前的問題imagemagick in asp.net via command line的後續處理,我說我會使用緩存解決方案,但是當處理大量數據時,我注意到CPU使用率過高似乎可能會產生問題。
這似乎是一個選項,謝謝! – Max 2009-10-23 15:11:12