{eval=Array;=+count(Array);}

国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

問答專欄Q & A COLUMN

你認為要支持1w并發需要什么樣服務器配置?

tuniutechtuniutech 回答0 收藏1
問題描述:只用一臺服務器, 假設配置為cpu2.6hz 8核,內存16g,硬盤256ssd,網絡1m, 并同時運行mysql7數據庫和java后臺服務,你認為可以支撐1w高并發嗎? 或者你認為能支撐的最小配置是什么樣的?
收藏問題

10條回答

huaixiaoz

huaixiaoz

回答于2022-06-28 15:58

1、這個題目問得不那么準確,你必須要精準計算出每秒查詢時間(QPS)和事務時間(TPS),好比你感冒了,你說要配什么藥,醫生只能憑經驗,你如果去抽象化驗,知道是病毒還是細菌感染,數量是多少后,才能進一步診斷和配置服務器硬件。

2、接下來,你要了解常用發中間件和數據庫的極限并發量。比如redis一般是11w左右(純粹內存讀寫)、mysql每秒寫8w左右,讀10來萬(單表,多表就不一定,得看SQL的寫法),一般單表的存儲極限是5千萬左右,如果超出范圍,那么配置再好也是慢。總的說來,要精確配置服務器,你需要盡可能地評估最復雜的業務每秒并發時間,同時要考慮最復雜的情況,比如數據庫的數據規模、代碼在最高并發下,所耗費的時間,同時對網絡I/O也要有一個預估,知道帶寬的大小,總之,需要具體問題具體分析。

3、如果以上情況不考慮,就是想知道一個簡單粗暴的大概結果,一般8核、16G、256SSD,同時跑DB和web服務器的話,足夠支持1w的并發量,而且還有很大的冗余。如果火力全開,滿血跑,大概跑個8-10w都是有可能的。邊壓測,邊優化,如果恰好旁邊有高手,榨干每一個環節,你的并發量超出你的想象……

評論0 贊同0
  •  加載中...
BothEyes1993

BothEyes1993

回答于2022-06-28 15:58

場景很重要,比如一萬并發的qps還是tps,這完全不同的概念。

服務器做做優化,現在通過epoll支撐百萬連接十萬并發沒什么瓶頸。但是,這只是網絡層,如果落到具體業務,那就另當別論了。比如redis可以幾十萬并發,因為只需要網絡io和訪問內存。但是如果有業務處理,掛上了數據庫,走了kafka,并且再走redis,那就要具體問題具體分析了。

數據庫單存qps,我們原來基準測試結果是可以支撐六萬到八萬左右,但是有事務的增刪改絕對不是這個量級。

其實你需要的是一個基準測試的結果,例如tcp,http基準測試;tomcat基準測試;應用框架基準測試;redis基準測試;mysql基準測試等。

我們做過應用框架基準測試,基于springboot,測試接口沒什么邏輯,就是直接查詢sql并返回結果。基準測試結果是八核16G內存,跑兩個實例,可以撐到8萬并發左右,應該還有優化空間吧。

評論0 贊同0
  •  加載中...
zhangwang

zhangwang

回答于2022-06-28 15:58

首先你要知道, 1w并發是什么. 1w就是QPS, 1w請求/秒. 所以不是只是和系統配置(容量)相關, 如果要達到, 反而更應該和時間相關.

舉個例子, 假設平均你的服務處理時間(RT)是1秒, 那么在這一秒鐘內, 意味著有1w個線程同時執行. 而實際即使是8核單機, 也是壓不上去的.

為什么? 因為你的服務太慢了, RT太長了. 那么把你的服務處理時間優化縮減到0.1秒, 即100ms, 那么達到1w并發(QPS=1w/秒), 同時只需1k個線程在并發執行就達到了.

以個人經驗.對于Java來說, 1K大小的線程池不是什么大問題. 為了避免占GC時間過長, 配置500左右大小的線程池, 啟動2個JVM實例就可以達到.

而以1秒RT為基礎的1w線程池大小, 以個人經驗, 在單機基本上壓不到的.

所以, 答案就是, 你應該先關注RT, 縮小到平均100ms的經驗值, 1w并發不是問題.

評論0 贊同0
  •  加載中...
Render

Render

回答于2022-06-28 15:58

可以了解一下serverless。函數計算就是其中的代表實現了免運維,自動伸縮。也就是說你只用專注業務 無需管理服務器配置管理 不管多大并發 都能抗住,無需擔心服務器宕機,等一系列運維問題。你只需在適當的時候升級數據庫即可。在解決業務問題之前沒必要解決技術問題。之前也和你一樣,開發之前總是擔心服務器性能不夠怎么辦,雖然大部分情況下用戶可能沒有那么多,并發根本沒有想象中的大。但是等到一些列問題出現的時候再去找解決方案,就會很被動,不管是對公司還是個人造成很大壓力。所以建議了解serverless 函數計算完美解決了這一問題。最后安利一下ucloud云的函數計算,技術成熟,支持語言多,遷移項目方便。


評論0 贊同0
  •  加載中...
Riddler

Riddler

回答于2022-06-28 15:58

您好,光網絡可能就不支持1w的并發了。

你說的這個配置是基礎配置,一來就是1w的高并發支持不了的。

由于各個功能模塊各個層次消耗不一樣,所以要具體看后期運營使用情況再來調整服務器配置。

評論0 贊同0
  •  加載中...
Wuv1Up

Wuv1Up

回答于2022-06-28 15:58

1萬qps光tcp/ip地址就不止1m帶寬了[捂臉]

評論0 贊同0
  •  加載中...
Astrian

Astrian

回答于2022-06-28 15:58

看你什么樣的場景,業務復雜度,就個靜態頁面,給你兩臺ng就搞定了

評論0 贊同0
  •  加載中...
heartFollower

heartFollower

回答于2022-06-28 15:58

要看性能要求了,如果只討論并發數量,用異步網絡模型,并發一萬個鏈接沒啥問題吧,只是數據處理不過來,大多數鏈接都是在等待結果而已。服務器配置1核8g差不多夠了吧

評論0 贊同0
  •  加載中...
hlcc

hlcc

回答于2022-06-28 15:58

1m,帶寬太小了,肯定是不行的,不過一般公司不用這么高的并發,有這么高并發公司發大財了

評論0 贊同0
  •  加載中...
meteor199

meteor199

回答于2022-06-28 15:58

1m帶寬,1萬qps基本沒可能,就算平均包長128字節好了,撐死1000pps,假設一次交互完成,那頂了天500tps。那你這環境只可能是1萬活躍session了,應該隨便搞臺pc機都能頂住

評論0 贊同0
  •  加載中...

最新活動

您已邀請0人回答 查看邀請

我的邀請列表

  • 擅長該話題
  • 回答過該話題
  • 我關注的人
向幫助了您的網友說句感謝的話吧!
付費偷看金額在0.1-10元之間
<