2015-05-29 20 views
2

我正在開發一個網站,使用python3.4上的Django1.7以及MySql作爲數據庫引擎。在接下來的15-20天裏,我打算測試它。該網站在功能和複雜性方面與linkedin類似,我預計在未來6個月內將獲得約20-30萬用戶。 我只在我的網站開發過程中瞭解了MySql。我正在使用Django的調試工具欄,並試圖減少查詢時間並減少連接數量。我有幾個問題:測試我的網站的數據庫性能和流量處理

  1. 什麼工具可以用來創建HTTP請求來自動填充數據庫,還可以查詢各個頁面。

  2. django-debug-toolbar是否足以執行分析和優化,考慮來自多個用戶的請求數量的增加。

  3. 是否應該努力減少數據庫命中的數量或查詢集的大小django將緩存以及RAM的使用將如何影響網站的性能。

考慮到我之前沒有數據庫管理和處理網站的經驗,我應該如何確定網站是否正在執行商標。請分享我最不熟悉的最佳做法。

回答

4

SQL性能的一個最大因素是您使用的表中的行數。您應該弄清楚如何將5萬個假用戶和100萬個假節點加載到您的測試數據庫中。

然後猜猜您的哪些網頁瀏覽量最常見。在網上找到一個免費的負載測試工具(有很多),然後用它在你的服務器上打這個頁面。

找出哪些查詢速度慢。添加適當的索引,或者如果必須的話,重新設計您的數據庫,並讓這些查詢更快。

然後猜測你的第二個最流行的瀏覽量並重復。繼續下去,直到你耗盡時間。

請記住,這是猜測。隨着您的服務在用戶中增加,您需要密切關注您真實用戶喜歡的瀏覽量,並關注那些緩慢的查詢。

如果按照您計劃的比率添加用戶,那麼在第一年運行期間,將花費相當一部分時間。

閱讀一個網站叫http://use-the-index-luke.com/

+0

先生感謝你的偉大的建議,並已建議的系統方法。我已經開始閱讀有關索引的內容。不過,我希望得到一些更具體的建議,告訴我應該使用哪些特定工具,安裝在具有1 GB RAM的ubuntu服務器上的apache2是否能夠處理負載,是否應該儘量減少數據庫命中或減少內存中加載的查詢集。爲此,我現在要解決這個問題。 – Rohit

+0

對於你所問的問題(有多少內存?Apache或其他服務器?結果集緩存?等等)是你只能從你的web應用中學習經驗*的東西。*正如我描述的,負載測試,只是一種加速你的經驗的方式。 –