如何解決高併發

2021-07-29 05:10:46 字數 690 閱讀 3238

如何解決高併發

快取靜態頁面

伺服器分離

優化資料庫結構,多做索引

資料庫集群和庫表雜湊

不要頻繁得使用new物件,能使用單例模式就使用, 對於utility型別的類通過靜態方法來訪問。

使用執行緒安全的集合物件vector  hashtable

使用執行緒池

盡量使用快取,包括使用者快取,資訊快取等,多花點記憶體來做快取,可以大量減少與資料庫的互動,提高效能。

用jprofiler等工具找出效能瓶頸,減少額外的開銷。

優化資料庫查詢語句,減少直接使用hibernate等工具的直接生成語句(僅耗時較長的查詢做優化)。

優化資料庫結構,多做索引,提高查詢效率。

統計的功能盡量做快取,或按每天一統計或定時統計相關報表,避免需要時進行統計的功能。

能使用靜態頁面的地方盡量使用,減少容器的解析(盡量將動態內容生成靜態html來顯示)。

解決以上問題後,使用伺服器集群來解決單台的瓶頸問題。

html靜態化也是某些快取策略使用的手段,對於系統中頻繁使用資料庫查詢但是內容更新很小的應用,可以考慮使用html靜態化來實現,比如論壇中論壇的公用設定資訊,這些資訊目前的主流論壇都可以進行後台管理並且儲存再資料庫中,這些資訊其實大量被前台程式呼叫,但是更新頻率很小,可以考慮將這部分內容進行後台更新的時候進行靜態化,這樣避免了大量的資料庫訪問請求。

**:

2 7 如何解決高併發?

1 cdn加速 把靜態資源放到別人伺服器上 2 後台資料庫使用mysql redis mysql是持久化儲存,存放在磁碟裡面,檢索的話,會涉及到一定的io,為了解決這個瓶頸,於是出現了快取,比如現在常用的 redis。首先,使用者訪問快取,如果未命中,就去訪問mysql,之後將mysql中的資料複製...

如何解決高併發,秒殺問題

相信不少人會被這個問題困擾,分享大家一篇這樣的文章,希望能夠幫到你!一 秒殺業務為什麼難做?1 im系統,例如qq或者微博,每個人都讀自己的資料 好友列表 群列表 個人資訊 2 微博系統,每個人讀你關注的人的資料,乙個人讀多個人的資料 3 秒殺系統,庫存只有乙份,所有人會在集中的時間讀和寫這些資料,...

如何解決高併發和大流量

名詞解釋 併發 在作業系統中,是指乙個時間段中有幾個程式都處於已啟動執行到執行完畢之間,且這幾個程式都是在同乙個處理機上執行,但任意乙個時刻上只有乙個程式在處理機上執行。我們說的高併發是什麼?上面的定義明顯不是我們通常所言的併發,在網際網路時代,所講的併發 高併發,通常是指併發訪問。也就是在某個時間...