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

成人国产在线小视频_日韩寡妇人妻调教在线播放_色成人www永久在线观看_2018国产精品久久_亚洲欧美高清在线30p_亚洲少妇综合一区_黄色在线播放国产_亚洲另类技巧小说校园_国产主播xx日韩_a级毛片在线免费

問答專欄Q & A COLUMN

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

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

10條回答

huaixiaoz

huaixiaoz

回答于2022-06-28 15:58

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

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

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

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

BothEyes1993

回答于2022-06-28 15:58

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

服務(wù)器做做優(yōu)化,現(xiàn)在通過epoll支撐百萬連接十萬并發(fā)沒什么瓶頸。但是,這只是網(wǎng)絡(luò)層,如果落到具體業(yè)務(wù),那就另當(dāng)別論了。比如redis可以幾十萬并發(fā),因為只需要網(wǎng)絡(luò)io和訪問內(nèi)存。但是如果有業(yè)務(wù)處理,掛上了數(shù)據(jù)庫,走了kafka,并且再走redis,那就要具體問題具體分析了。

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

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

我們做過應(yīng)用框架基準測試,基于springboot,測試接口沒什么邏輯,就是直接查詢sql并返回結(jié)果?;鶞蕼y試結(jié)果是八核16G內(nèi)存,跑兩個實例,可以撐到8萬并發(fā)左右,應(yīng)該還有優(yōu)化空間吧。

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

zhangwang

回答于2022-06-28 15:58

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

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

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

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

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

所以, 答案就是, 你應(yīng)該先關(guān)注RT, 縮小到平均100ms的經(jīng)驗值, 1w并發(fā)不是問題.

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

Render

回答于2022-06-28 15:58

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


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

Riddler

回答于2022-06-28 15:58

您好,光網(wǎng)絡(luò)可能就不支持1w的并發(fā)了。

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

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

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

Wuv1Up

回答于2022-06-28 15:58

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

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

Astrian

回答于2022-06-28 15:58

看你什么樣的場景,業(yè)務(wù)復(fù)雜度,就個靜態(tài)頁面,給你兩臺ng就搞定了

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

heartFollower

回答于2022-06-28 15:58

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

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

hlcc

回答于2022-06-28 15:58

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

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

meteor199

回答于2022-06-28 15:58

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

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

最新活動

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

我的邀請列表

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