2021-01-28 分類: 網(wǎng)站建設(shè)
什么是服務(wù)器并發(fā)處理能力
一臺服務(wù)器在單位時間里能處理的請求越多,服務(wù)器的能力越高,也就是服務(wù)器并發(fā)處理能力越強。
服務(wù)器的本質(zhì)工作就是,爭取以最快的速度將內(nèi)核緩沖區(qū)中的用戶請求數(shù)據(jù)一個不剩地都拿出來,然后盡快處理,再將響應(yīng)數(shù)據(jù)放到一塊又能夠與發(fā)送數(shù)據(jù)的緩沖區(qū)中,接著處理下一撥請求。
而服務(wù)器并發(fā)處理能力,可以通過吞吐率來觀察,吞吐率,單位時間里服務(wù)器處理的大請求數(shù),單位req/s。可以利用Jmeter工具進行測試服務(wù)器服務(wù)器并發(fā)處理能力。
例如服務(wù)器的性能,web程序的并發(fā)能力,代碼,數(shù)據(jù)庫等等,這里以一個Web程序為例,說明一下提高服務(wù)器處理并發(fā)能力的。
服務(wù)性能提高
服務(wù)器之所以可以同時處理多個請求,在于操作系統(tǒng)通過多執(zhí)行流體系設(shè)計使得多個任務(wù)可以輪流使用系統(tǒng)資源,這些資源包括CPU,內(nèi)存以及I/O. 這里的I/O主要指磁盤I/O, 和網(wǎng)絡(luò)I/O。
服務(wù)器的性能也可能是性能的瓶頸,這個時候,就需要更好的服務(wù)器。比如單核CPU提高到多核,內(nèi)存也需要增加。
web程序的并發(fā)能力
web程序員并發(fā)能力,web在相同時間內(nèi)處理更多的請求,多線程處理最為關(guān)鍵。比如SpringBoot默認使用Tomcat,而tomcat的默認線程為200,即在同一時刻,只能處理200個請求,而其他需要排隊等待,在服務(wù)器性能足夠好的情況,就需要將Tomcat的處理線程增加到合適的大小。
線程的增加,需要經(jīng)過性能測試,才能知道多少合適,線程的切換也是需要資源和時間的,因此不能無限擴大。
多個web同時處理。通過對web的集群,讓web處理的并發(fā)增加。如圖:
使用nginx作為轉(zhuǎn)發(fā),web服務(wù)器集群是的處理的請求數(shù)增加。
代碼
1. 優(yōu)化代碼處理的速度,一空間換時間,對于執(zhí)行的慢的程序,可以通過消耗內(nèi)存(即構(gòu)造新的數(shù)據(jù)結(jié)構(gòu))來進行優(yōu)化。
2. 利用池化技術(shù)復(fù)用,池化技術(shù)能夠減少資源對象的創(chuàng)建次數(shù),提高程序的性能,特別是在高并發(fā)下這種提高更加明顯。簡單點來說,就是提前保存大量的資源,以備不時之需。線程的創(chuàng)建是非常耗時和消耗資源的,通過池化池化技術(shù)解決這一點。
3. 減少使用不必要的鎖。服務(wù)器處理大量并發(fā)請求時,多個請求處理任務(wù)時存在一些資源搶占競爭,這時一般采用“鎖”機制來控制資源的占用,當一個任務(wù)占用資源時,我們鎖住資源,這時其它任務(wù)都在等待鎖的釋放,這個現(xiàn)象稱為鎖競爭。
通過鎖競爭的本質(zhì),我們要意識到盡量減少并發(fā)請求對于共享資源的競爭。比如在允許情況下關(guān)閉服務(wù)器訪問日志,這可以大大減少在鎖等待時的延遲時間。要大程度減少無辜的等待時間。
數(shù)據(jù)庫
數(shù)據(jù)庫往往成為程序的瓶頸,程序多數(shù)都需要查詢數(shù)據(jù)庫,而數(shù)據(jù)庫的查詢插入都是有一定性質(zhì),特別是在數(shù)據(jù)量特別大的時候。
1. SQL優(yōu)化以提升SQL執(zhí)行效率;優(yōu)化那些查詢慢的語句,并通過創(chuàng)建索引等手段來優(yōu)化。
2. 數(shù)據(jù)庫讀寫分離避免讀、寫鎖帶來的性能開銷;Mysql實現(xiàn)主動,主插入操作,而查詢使用從數(shù)據(jù)庫。
分享標題:如何提高服務(wù)器并發(fā)處理能力,有這幾點我們要注意
網(wǎng)站地址:http://jinyejixie.com/news11/97911.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供靜態(tài)網(wǎng)站、網(wǎng)站導(dǎo)航、網(wǎng)站收錄、微信小程序、電子商務(wù)、建站公司
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容