欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

LinuxC/C++學(xué)習(xí)筆記(九):百萬(wàn)并發(fā)的服務(wù)器實(shí)現(xiàn)-創(chuàng)新互聯(lián)

本文內(nèi)容參考自(2條消息) Linux C/C++ 開(kāi)發(fā)(學(xué)習(xí)筆記十三):百萬(wàn)并發(fā)的服務(wù)器實(shí)現(xiàn)_菊頭蝙蝠的博客-博客_linux百萬(wàn)并發(fā)

讓客戶滿意是我們工作的目標(biāo),不斷超越客戶的期望值來(lái)自于我們對(duì)這個(gè)行業(yè)的熱愛(ài)。我們立志把好的技術(shù)通過(guò)有效、簡(jiǎn)單的方式提供給客戶,將通過(guò)不懈努力成為客戶在信息化領(lǐng)域值得信任、有價(jià)值的長(zhǎng)期合作伙伴,公司提供的服務(wù)項(xiàng)目有:域名與空間、雅安服務(wù)器托管、營(yíng)銷(xiāo)軟件、網(wǎng)站建設(shè)、西安網(wǎng)站維護(hù)、網(wǎng)站推廣。一、connection_refuesed ---->文件系統(tǒng)大的進(jìn)程fd個(gè)數(shù)

nat 模式,物理機(jī)的VMnet8網(wǎng)卡,連接到了VMnet8虛擬交換機(jī),在本機(jī)使用網(wǎng)絡(luò)調(diào)試助手要使用此ip,其他ip連不上。

linux 文件系統(tǒng)默認(rèn)的文件描述符的數(shù)量是1024個(gè),可以通過(guò)ulimit -a命令查看

可通過(guò)ulimit -n命令進(jìn)行修改,這種修改方式是臨時(shí)修改,系統(tǒng)重啟后又恢復(fù)原狀

可通過(guò)修改文件永久修改系統(tǒng)默認(rèn)的文件描述符數(shù)量

在這里插入圖片描述

在那個(gè)文件下添加兩行

在這里插入圖片描述

reboot后即可

二、Cannot assign requested address----->在服務(wù)器開(kāi)多個(gè)端口 問(wèn)題及原因

在客戶端這邊,遠(yuǎn)程ip,遠(yuǎn)程端口,協(xié)議都是確定的,本機(jī)ip也是確定的,那么實(shí)際上就是本機(jī)的端口耗盡了。

解決方法就是 在服務(wù)器開(kāi)多個(gè)端口。

解決問(wèn)題

通過(guò)一個(gè)循環(huán),開(kāi)MAX_PORT個(gè)端口,每個(gè)為一個(gè)sockfd
并把每個(gè)sockfd加入到epoll中去
最后還需要用一個(gè)數(shù)組,將每次遇到的sockfd存入到數(shù)組后。(由于后續(xù)在監(jiān)聽(tīng)到數(shù)據(jù)后,需要區(qū)分是listenfd還是客戶端的信息)

后續(xù)while(1) 持續(xù)監(jiān)聽(tīng)的時(shí)候,通過(guò)sockfds數(shù)組(理解為sockfd的集合)判斷是listenfd還是clientfd就行了。

通過(guò)將MAX_PORT個(gè)io都放入到epoll中去管理

三、Connection time out----->設(shè)置當(dāng)前系統(tǒng)設(shè)置大連接數(shù)和防火墻對(duì)外的大連接數(shù)

運(yùn)行到后來(lái),客戶端還是會(huì)出現(xiàn)問(wèn)題

可以看到64999非常接近65535這個(gè)數(shù)

排查問(wèn)題

通過(guò)命令來(lái)查看 系統(tǒng)所有進(jìn)程一共可以打開(kāi)的文件數(shù)量?

結(jié)果很大,因此和大可打開(kāi)的文件數(shù)量沒(méi)有關(guān)系

查看當(dāng)前系統(tǒng)設(shè)置大連接數(shù)

這是 內(nèi)核里面設(shè)置的防火墻對(duì)外的大連接數(shù)

在這里插入圖片描述

因此需要設(shè)置參數(shù),linux內(nèi)核中的參數(shù),都可以通過(guò)sysctl.conf來(lái)設(shè)置

在這里插入圖片描述

修改后,通過(guò)下面這條命令進(jìn)行生效

在這里插入圖片描述

四、服務(wù)器 too many open files in system ---->設(shè)置file_max

然后發(fā)現(xiàn),服務(wù)器端,出現(xiàn)了問(wèn)題,too many open files in system?

在這里插入圖片描述發(fā)現(xiàn)服務(wù)器的file-max不夠大

在這里插入圖片描述

對(duì)服務(wù)器端的/etc/sysctl.conf 同樣進(jìn)行修改

在這里插入圖片描述

通過(guò)sudo sysctl -p去更新

如果出現(xiàn)問(wèn)題

在這里插入圖片描述

需要 運(yùn)行下列命令。

在這里插入圖片描述

Linux modprobe命令用于自動(dòng)處理可載入模塊。modprobe可載入指定的個(gè)別模塊,或是載入一組相依的模塊。

然后再sudo sysctl -p去更新

五、內(nèi)存不夠----->調(diào)整TCP/IP協(xié)議棧 參數(shù)

在跑的時(shí)候查看htop,發(fā)現(xiàn)當(dāng)一段時(shí)間后,fd個(gè)數(shù)不再增加了

在這里插入圖片描述

服務(wù)器停住了,因?yàn)閮?nèi)存滿了,但是過(guò)一會(huì)又開(kāi)始下降,說(shuō)明是內(nèi)存開(kāi)始回收。
一旦開(kāi)始對(duì)客戶端大量進(jìn)程結(jié)束,cpu的利用率會(huì)到達(dá)100%(而一般不能這么做,一般不能超過(guò)80%)

這時(shí)候就要調(diào)整 TCP/IP協(xié)議棧了。

在這里插入圖片描述

在這里插入圖片描述

net.ipv4.tcp_mem, tcp全局緩存大小,單位是頁(yè)(4k)從左到右分別是 1G? ?2G? ?3G

2G之前系統(tǒng)不會(huì)有什么行動(dòng),2~3G系統(tǒng)會(huì)進(jìn)行內(nèi)存優(yōu)化(比如對(duì)沒(méi)用的TCP連接進(jìn)行回收),3G以上禁止分配

net.ipv4.tcp_wmem對(duì)應(yīng)tcp套接字的發(fā)送緩沖區(qū),單位是B,從左到右分別是最小值、默認(rèn)值(創(chuàng)建套接字時(shí)分配的大?。┖痛笾?/p>

net.ipv4.tcp_rmem對(duì)應(yīng)tcp套接字的接收緩沖區(qū),單位是B,從左到右分別是最小值、默認(rèn)值(創(chuàng)建套接字時(shí)分配的大?。┖痛笾?

sockfd-->2k

1024字節(jié)2*100w差不多為2G。(通過(guò)這種方式計(jì)算出來(lái))

總的緩存=(每個(gè)fd發(fā)送緩存+每個(gè)fd接受緩存)*fd數(shù)量

如果想做到千萬(wàn)并發(fā),就要用到用戶態(tài)協(xié)議棧了

如果想提升客戶端連接速度,可以將100個(gè)listenfd放入100個(gè)線程中去
把clientfd和listenfd放到不同的線程中

如果只利用一個(gè)端口8888,開(kāi)多個(gè)進(jìn)程

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級(jí)流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級(jí)服務(wù)器適合批量采購(gòu),新人活動(dòng)首月15元起,快前往官網(wǎng)查看詳情吧

本文名稱(chēng):LinuxC/C++學(xué)習(xí)筆記(九):百萬(wàn)并發(fā)的服務(wù)器實(shí)現(xiàn)-創(chuàng)新互聯(lián)
分享路徑:http://chinadenli.net/article24/ddijce.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁(yè)設(shè)計(jì)公司關(guān)鍵詞優(yōu)化、面包屑導(dǎo)航動(dòng)態(tài)網(wǎng)站、靜態(tài)網(wǎng)站外貿(mào)建站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)