1
我的lighttpd上通過flup/FastCGI的運行TG2應用。 我們正在讀從BlobFields圖像(〜30kb的每個)在MySQL數據庫,並通過控制器的方法返回與一個自定義的MIME類型的那些圖像。因爲他們每個請求更改硬盤上緩存這些圖像是沒有意義的,我們在數據庫緩存這些的唯一原因是,創造這些圖像是相當昂貴的,並用於創建圖像的數據也存在於對純文本網站。返回數據庫中的BLOB/FCGI/Lighttpd的極其緩慢
我們本身的問題:
當返回這樣的圖像,事情就變得極爲緩慢。代碼運行完全正常,沒有明顯的延遲,但是一旦它通過fcgi/lighttpd運行,所描述的現象就會發生。
我異型我控制器返回我的斑點的方法,以及整個方法在幾毫秒運行,但是當「迴歸」執行,整個應用程序掛起約10秒。
我們不能用PHP重現上FCGI同樣的錯誤。這似乎只發生在Turbogears或Pylons上。
這裏供大家參考有關一段代碼:
@expose(content_type=CUSTOM_CONTENT_TYPE)
def return_img(self, img_id):
""" Return a DB persisted image when requested """
img = model.Images.by_id(img_id) #get image from DB
response.headers['content-type'] = 'image/png'
return img.data # this causes the app to hang for 10 seconds