2009-02-07 116 views
2

我正在用C#開發Asp.Net 3.5上的電子商務項目。我使用3層(Data + Business + UI)結構來訪問數據庫中的數據(Msql 2005)。Asp.net電子商務表現

有存儲過程和一切從這些事。(CRUD方法)

這裏有一個性能問題,項目是這樣運行緩慢。我在交易模型中找不到任何問題。

也是該項目是在海外country.Database服務器和Web服務器的共享主機上運行不同的machines.Database服務器上運行有近1000數據庫。

如何測試和了解問題出在哪裏?

+0

誰是託管..是它arvixe :) – 2016-03-02 08:59:26

回答

5

既然有向上1000個數據庫的共享資源,我會採取可能是您的問題刺傷....如果你連接到數據庫,它需要5秒鐘運行一個簡單的查詢,那麼你可以想這個問題。

我想補充一些秒錶功能添加到您的Web服務器上運行的「testpage」。這應該給你的基本信息,看看是否有一個「瓶頸」在等待數據庫返回您的查詢。如果你已經做到了這一點,那麼我會懷疑它會是你的網絡服務器。

你最後的選擇將是建立一個簡單的低規格的機器與DB和它的Web服務器和公正的測試。根據您的網站獲得的流量,您應該能夠很好地瞭解其響應時間。

工具如YSlow也可能有一定的幫助然而這些通常更多地用於微調。

+0

非常感謝你。我會嘗試這個建議。 – Jack 2009-02-07 18:54:12

1

既然你是一個共享的主機服務運行,我猜這就是你的問題。您正在與這些服務器上的每個其他網站和數據庫競爭服務器資源。

爲了確保,我會設置一個模仿您的生產環境的本地環境。然後執行一些標準壓力測試,看看它是如何執行的。如果它執行您期望的方式,那麼它可能是您的託管解決方案。

通過共享的託管解決方案,您確實可以獲得您所支付的費用。如果這是一個需要更多速度的系統,那麼您應該看看專用的託管解決方案。

0

我開發的一個快速解決方案,可以幫助您在此處保存我的web應用程序的性能日誌。我有一臺運行類似聲音應用程序的Web服務器和數據庫服務器。我編寫了一個運行「基準測試」存儲過程並返回運行時間的Web服務。我編寫了一個在我的開發服務器上運行的win應用程序,該服務器調用Web服務,將它傳遞給要運行的存儲過程的名稱,以及整個請求需要多長時間。 win應用程序將數據寫入日誌文件並按計劃任務每​​10分鐘運行一次。額外的鈴聲和哨聲包括連續三次超出指定閾值,連接失敗以及慢速恢復正常表演時的自動發送給團隊成員的電子郵件。

這提供了用戶在網站上的體驗如何在任何給定時間的一般指示,並作爲團隊的警告鈴。這並不是最好的解決方案,但是我幾個月前在幾個小時內完成了它的編寫,並且使用它創建的用於多次故障排除的數據。