數據記錄超過150萬、同時在線人數4000的社區,如何架構能滿足要求
離開硬件空談軟件是不現實的,asp.net+sql2000企業版肯定滿足你的要求,類似的我作過,
服務器 雙cpu或者4顆8顆,用戶有錢就多上, 2G內存,越大越好,其他的容措、熱備等根據用戶要求定,硬盤一般標配的都夠用,大也無所謂,也可以web服務器和數據庫服務器分別采用一臺計算機,配置越高越好。總而言之這個系統不大,不用擔心。
1.硬件方面服務器集群
2.軟件方面,最解決問題得就是生成html或者用xml+xsl
其次考慮用cache,我們現在也在做這個,基本上是這個思路!
1、硬件要高
2、要生成靜態網頁HTML,(我不建議用xml+xsl,客戶端打開多頁的時候慢)
多用cache,最好能把靜態頁面都讀到cache中,
3、必須的地方如發帖回帖時候在用ASPNET
http://pop.pcpop.com/default.aspx
數據量160w主帖+4,000w回復.
人氣,自己看在線名單.
服務器配置
數據庫服務器+web服務器,圖片服務器只是為了分流帶寬.
其實注意的問題
1:分表
2:Cache
3:數據操作部分多考慮存儲過程的執行效率
4:底層的代碼過硬.
實時在線10多萬用戶的天涯社區(www.tianya.cn)用的技術是:
1、內容緩存。
2、應用層的語句優化。
3、高效的索引
4、分庫分表,天涯訪問量大的版塊甚至單獨分成一個庫,用分區視圖和鏈接服務器統一調用。
5、數據庫調優,通過事件探查器對提交語句進行評估,優化。
6、調用頻率非常高的表“釘”在內存中,減少磁盤IO。
7、通過服務器內的Agent,自動采集服務器CPU、內存、磁盤、網卡、連接數等參數,讓網管即時了解WEB和DB服務器的實時性能參數。
呵呵,轉篇帖子給土人
首先謝謝dudu,今天訪問速度和穩定性提高很明顯,不用對著sorry頁發呆了@_@
免費的安家在cnblogs上,很是感謝。最近看dudu為訪問速度辛苦,想幫點忙,可是一直很懶人又苯,只好事后總結一下了。
個人猜測總結的dudu目前提高性能的辦法:
1.阻止惡意robot
2.Rss的優化緩存
3.頁面的緩存和靜態化
4.數據庫的優化和查詢緩存
5.DotNet和IIS 6的配置優化
6.DotText代碼的重構
7.Web頁面的Html重構和布局優化
8.沒想到,請dudu補充??
個人分析和建議:
1.目前看來,最大的速度問題是來自搜索的robot的瘋狂爬行(cnblogs里的好東西太多了?),造成類似破壞的未來還可能來有惡意攻擊或是病毒。dudu目前的辦法是Asp.net程序里拒絕訪問,或是高峰時段拒絕訪問,但是涉及了一個檢索的問題,所以建議返回一個錯誤讓robot自己處理,比如:
• 500.12 - 應用程序正忙于在 Web 服務器上重新啟動。
• 500.13 - Web 服務器太忙。
• 403.9 - 用戶數過多。與該服務器連接的用戶數量超過了您設置的連接限制。
對于攻擊類,就不行了。所以建議dudu最好在防火墻上做限制,禁止同一ip的最大連接數,或是幾小時內禁止訪問。或是把目前的處理robot應用的代碼單獨出來,C#重寫用配置文件管理,不要經過IIS處理。
2.緩存和靜態化。頁面緩存和靜態化是dudu下了大工夫的地方了。建議多注意Rss,個人管理里看來聚合的訪問比Web頁面的大多了。建議僅僅聚合摘要,也倡議大家都寫摘要,方便閱讀,也可以減輕一點服務器負擔。不知道cnblogs什么時候有自己的緩存服務器,呵呵。
3.數據庫的問題,最大化利用Sql Server的本身特性就好。建議注意管理并發鎖定,使用行間鎖定,可提高效率。重視查詢緩存的策略,提高命中。
4.代碼和頁面的重構。這就要辛苦dudu了,也沒太多說的。想說的是除html+css外,還要注意頁面上的布局顯示,比如首頁該顯示的內容,目前顯示的排名人數是不是太多?一些個人的頁面上的圖片,flash,第3方計數器等會不會影響最終用戶頁面打開速度,造成打開慢的印象。
5.Win2003和IIS6 本身,這個還是讓大家來建議吧。
寫了這么些,希望能為cnblogs出點力,不對就多包涵了。倡議大家都貢獻點自己的力量,讓cnblogs更好。 希望能有好的提議,所以暫時發首頁。