日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
以數(shù)據(jù)中心為主題的文章標(biāo)題:優(yōu)化服務(wù)器數(shù)據(jù),提升效率

如何提高服務(wù)器并發(fā)處理能力?

什么是服務(wù)器并發(fā)處理能力

一臺服務(wù)器在單位時間里能處理的請求越多,服務(wù)器的能力越高,也就是服務(wù)器并發(fā)處理能力越強(qiáng)。

服務(wù)器的本質(zhì)工作就是,爭取以最快的速度將內(nèi)核緩沖區(qū)中的用戶請求數(shù)據(jù)一個不剩地都拿出來,然后盡快處理,再將響應(yīng)數(shù)據(jù)放到一塊又能夠與發(fā)送數(shù)據(jù)的緩沖區(qū)中,接著處理下一撥請求。

而服務(wù)器并發(fā)處理能力,可以通過吞吐率來觀察,吞吐率,單位時間里服務(wù)器處理的最大請求數(shù),單位req/s??梢岳肑meter工具進(jìn)行測試服務(wù)器服務(wù)器并發(fā)處理能力。

例如服務(wù)器的性能,web程序的并發(fā)能力,代碼,數(shù)據(jù)庫等等,這里以一個Web程序為例,說明一下提高服務(wù)器處理并發(fā)能力的

服務(wù)器之所以可以同時處理多個請求,在于操作系統(tǒng)通過多執(zhí)行流體系設(shè)計使得多個任務(wù)可以輪流使用系統(tǒng)資源,這些資源包括CPU,內(nèi)存以及I/O. 這里的I/O主要指磁盤I/O, 和網(wǎng)絡(luò)I/O。

任何一臺服務(wù)器,都是有性能上限的。服務(wù)器處理請求需要消耗服務(wù)器端的資源,比如說:CPU、內(nèi)存、網(wǎng)絡(luò)連接數(shù)、磁盤I/O等,由于服務(wù)器端的資源是有限的,所以它能同時處理的請求也是有限的。

不同運維人員管理的服務(wù)器性能上也是會有差異的,我們可以通過一系列的技術(shù)手段來提升服務(wù)器的并發(fā)處理能力。

服務(wù)器在一段時間內(nèi)能處理的請求數(shù)越多,就代表此服務(wù)器性能越好,我們就說此服務(wù)器并發(fā)能力越高。

服務(wù)器并發(fā)能力的提升不光光要從服務(wù)端優(yōu)化,客戶端的優(yōu)化也是不可缺少的。這里列舉了一些方案供大家參考:

1、服務(wù)器端優(yōu)化

硬件升級:不同業(yè)務(wù)類型對服務(wù)器硬件要求不同,比如數(shù)據(jù)庫服務(wù)器對硬盤和CPU要求較高,NoSQL服務(wù)器對內(nèi)存要求高;

帶寬升級:服務(wù)器帶寬也會限制網(wǎng)絡(luò)請求連接數(shù),帶寬小請求也會越慢;

請求分流:通過負(fù)載均衡、集群、分布式架構(gòu)將請求分?jǐn)偟蕉嗯_服務(wù)器上,減少單一服務(wù)器的負(fù)載壓力;

應(yīng)用優(yōu)化:代碼里避免死循環(huán)、對于網(wǎng)絡(luò)請求要控制好超時時間;能異步處理的邏輯則異步化處理;

數(shù)據(jù)庫優(yōu)化:SQL優(yōu)化以提升SQL執(zhí)行效率;數(shù)據(jù)庫讀寫分離避免讀、寫鎖帶來的性能開銷;避免不必要的鎖;

如果是指硬件處理并發(fā)能力的話: 選擇更多核心的CPU,更大的CPU緩存,選擇更大的內(nèi)存,選擇更快的外設(shè)等等。

如果是指軟件處理能力的話,這就涉及到軟件架構(gòu)設(shè)計了。一般來說,多線程多進(jìn)程能夠提供并行處理能力,但是不是越多越好。一般來說進(jìn)程/線程數(shù)應(yīng)該等于CPU核心數(shù),這樣盡量發(fā)揮硬件優(yōu)勢。而且盡量避免使用鎖導(dǎo)致使線程們互相等待,這個非常重要。

1.評估你的業(yè)務(wù)復(fù)雜度,預(yù)估用戶并發(fā)量

2.基于你的評估,拆分模塊,可以按照CQRS模型拆分,比如拆分出讀和寫,隔離核心接口。

3.考慮你的業(yè)務(wù)模型中,哪些可以異步化,可以使用多線程(線程池)或者mq形式分發(fā)給子模塊或者子系統(tǒng)進(jìn)行處理

4.利用io多路復(fù)用模型,并調(diào)整你服務(wù)器的文件描述符、tcp鏈接等參數(shù)達(dá)到最佳

5.讀多用緩存,構(gòu)建多級緩存,應(yīng)用內(nèi)緩存作為一級緩存,redis作為二級緩存。同時避免出現(xiàn)慢sql,大事務(wù)。

6.寫多嘗試mq異步化,消峰填谷。選擇合適的數(shù)據(jù)存儲方式(數(shù)據(jù)庫的存儲引擎,文件的分布式存儲),io是最大的瓶頸,要進(jìn)行優(yōu)化。同時減少鎖的競爭,可使用樂觀鎖形式。

7.對你的編程語言進(jìn)行優(yōu)化,比如java的jvm gc也會影響性能的。

8.可嘗試跨語言編程,或者直接使用擅長高并發(fā)的語言,golang erlang rust等

9.根據(jù)你的評估選擇合適的硬件資源,性能不是硬件砸出來的,要做資源評估,對接口進(jìn)行壓測??梢允褂胏dn,數(shù)據(jù)庫,緩存等使用物理機(jī),應(yīng)用使用容器技術(shù)。確定你的接口是io密集還是cpu密集,io密集區(qū)分硬盤io還是網(wǎng)絡(luò)io,分別采用ssd或高速網(wǎng)絡(luò)。對于cpu密集要提高cpu和內(nèi)存。對于數(shù)據(jù)庫和緩存,cpu,內(nèi)存和網(wǎng)絡(luò)都要求資源高,網(wǎng)絡(luò)要保證萬兆光模塊。

10.對于你的數(shù)據(jù)庫,緩存等與應(yīng)用的之間的網(wǎng)絡(luò)建議距離越近越好,甚至是同一機(jī)房。

到此,以上就是小編對于數(shù)據(jù)中心提供服務(wù)的問題就介紹到這了,希望這1點解答對大家有用。


當(dāng)前標(biāo)題:以數(shù)據(jù)中心為主題的文章標(biāo)題:優(yōu)化服務(wù)器數(shù)據(jù),提升效率
網(wǎng)站地址:http://www.dlmjj.cn/article/dpcgjos.html