2013-01-03 68 views
0

希望你能幫助我找到一個奇怪的一個解決方案,我的ASP.NET MVC 4ASP.NET MVC4 - 從數據庫加載圖像慢

建立在我的網站的主頁網址的行爲我有大約30個圖像的類別。他們從MSSQL 2008數據庫加載。但問題是,其中一些(每次不同的圖像)加載非常緩慢。 所有圖像加載得相當快,但其中五個不是。它們的大小與其他大小相同。

爲什麼? 你能解釋我發生了什麼事嗎?我應該在哪裏尋找解決方案?網站的日子也不好過,當這些圖片出現在幾秒鐘​​後

這裏是一個鏈接到螢火蟲的屏幕捕獲http://i.piccy.info/i7/354e9ca195cc13f412e5e5813d279d97/4-55-323/7677732/Network.jpg

回答

0

不完全知道爲什麼圖像加載慢,但你可能要考慮緩存他們,如果他們是不太可能經常改變,這意味着在高速緩存被清空後第一次加載時它會很慢。

+0

並非所有的圖像,但只有五個圖像從三十加載緩慢。我可能是錯的,但據我所知,瀏覽器會自動用相同的鏈接兌換圖片。我的鏈接每次都是一樣的,看起來像'' – Vitalii

+0

緩存它們仍然是個好主意。 –

0

將圖像直接存儲在數據庫中通常不被認爲是最佳實踐。 我建議嘗試將圖像存儲爲文件,然後將路徑存儲在數據庫中。

[附錄回覆作者意見] 它可能不是一個數據庫問題。例如,許多瀏覽器限制併發連接到單個Web服務器的數量。這可能是因爲Web瀏覽器發送了20個圖像請求,然後一旦完成,就發出第21個請求。因此,一些圖像甚至不會開始加載,直到其他圖像完全結束。每個客戶端的限制也可能存在於Web服務器上。

Chrome和IE9配備體面的配置文件,顯示不同的請求需要多長時間。 Firefox同樣有一個名爲Firebug的插件。這些工具應該有助於縮小確切的問題。

+0

是的,這是可能的解決方案,不將圖像存儲到數據庫,而是存儲到磁盤。現在對我來說,理解爲什麼25個圖像加載50ms和泰姆加載2-3秒的前五個很重要。總是前五個負載延遲,我不明白這一點。是我的代碼問題,shered託管,數據庫緩慢響應或... – Vitalii

+0

是的,我用螢火蟲,看到第一個圖像加載速度慢,其他都沒問題。請看screnn capture here http://i.piccy.info/i7/354e9ca195cc13f412e5e5813d279d97/4-55-323/7677732/Network.jpg – Vitalii