高并發(fā)三種解決方法 1秒1000并發(fā),高并發(fā)需要什么樣的服務器?
1秒1000并發(fā),高并發(fā)需要什么樣的服務器?如果硬件級別需要根據(jù)數(shù)據(jù)量和業(yè)務復雜度進行綜合評估,建議購買兩臺虛擬機(4核8g內存)構建集群環(huán)境。之后將根據(jù)實際需要進行擴建。軟件級別:1。如果是寫操作,
1秒1000并發(fā),高并發(fā)需要什么樣的服務器?
如果硬件級別需要根據(jù)數(shù)據(jù)量和業(yè)務復雜度進行綜合評估,建議購買兩臺虛擬機(4核8g內存)構建集群環(huán)境。之后將根據(jù)實際需要進行擴建。
軟件級別:
1。如果是寫操作,應該:
1.1使用消息隊列進行異步處理(如ActiveMQ等),避免消息阻塞
1.2使用mongodb的批寫功能,例如每1000條數(shù)據(jù)只寫一次
2。Mongodb以集群方式部署,可以分散壓力
3。如果是讀操作,可以考慮添加redis來緩存熱數(shù)據(jù)
場景非常重要,比如10000個并發(fā)QPS或TPS,這是完全不同的概念。
服務器優(yōu)化,現(xiàn)在通過epoll支持數(shù)百萬個連接,100000個并發(fā)無瓶頸。但是,這只是網(wǎng)絡層。如果涉及到具體業(yè)務,那就另當別論了。例如,redis可以是并發(fā)的,因為只需要網(wǎng)絡IO和內存訪問。但如果你有業(yè)務處理,掛斷數(shù)據(jù)庫,去卡夫卡,再去redis,那你就得分析具體的問題。
在我們最初的基準測試中,QPS可以支持大約60000到80000個事務,但是事務的添加、刪除和修改絕對不是那么重要。
其實你需要的是一個基準測試結果,比如TCP、HTTP基準測試、Tomcat基準測試、application framework基準測試、redis基準測試、MySQL基準測試等
我們做了application framework基準測試,基于springboot,測試接口沒有邏輯,直接查詢SQL返回結果即可?;鶞蕼y試結果是8核16g內存,運行兩個實例,最多可以并發(fā)8萬次,應該有優(yōu)化的空間。
你認為要支持1w并發(fā)需要什么樣服務器配置?
為您提供幾個想法:
1。靜態(tài)網(wǎng)站頁面。靜態(tài)頁面是。HTML(。HTM等),不需要由web服務器解析。它只需要生成一次,然后每次直接下載到客戶端,效率更高。
2. 網(wǎng)站的web服務器、數(shù)據(jù)庫服務器、圖片服務器和文件服務器是分開的。通過服務器的專業(yè)化分工,以提高網(wǎng)站的訪問速度。因為下載圖片和文件時,會給IIS、Apache等服務器帶來很大壓力。
3. 設置一個特殊的數(shù)據(jù)緩存服務器。將大量的數(shù)據(jù)放入緩存數(shù)據(jù)區(qū),在訪問量較小時保存數(shù)據(jù),降低連接數(shù)據(jù)庫的直接操作成本。
4. 數(shù)據(jù)庫集群,數(shù)據(jù)庫表哈希。面對大量的訪問量,大型網(wǎng)站會出現(xiàn)數(shù)據(jù)庫瓶頸。此時,一個數(shù)據(jù)庫很快就無法滿足應用的需要,因此需要使用數(shù)據(jù)庫集群或數(shù)據(jù)庫表哈希來分散壓力。
5. 鏡像。映像是提高大型網(wǎng)站性能和數(shù)據(jù)安全性的一種方法。圖像技術可以解決不同的網(wǎng)絡接入提供商和接入?yún)^(qū)域所帶來的用戶接入速度的差異。例如,中國網(wǎng)和教育網(wǎng)的差異促使許多網(wǎng)站在教育網(wǎng)中建立形象網(wǎng)站,數(shù)據(jù)可以定期或實時更新。
6. 負載平衡。負載均衡將是大型網(wǎng)站解決高負載訪問和大量并發(fā)請求的高端解決方案。
7. 最新:CDN加速技術。什么是CDN?CDN的全稱是content distribution network。其目的是在現(xiàn)有的互聯(lián)網(wǎng)上增加一層新的網(wǎng)絡架構,將網(wǎng)站的內容發(fā)布到離用戶最近的網(wǎng)絡“邊緣”,讓用戶就近獲得所需內容,提高用戶訪問網(wǎng)站的響應速度。CDN不同于image,因為它比image更智能,或者可以用它來比喻:CDN=更智能的image cache流量分流。