亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁(yè) > 服務(wù)器 > Linux服務(wù)器 > 正文

如何測(cè)試Linux下tcp最大連接數(shù)限制詳解

2024-09-05 23:05:16
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

前言

關(guān)于TCP服務(wù)器最大并發(fā)連接數(shù)有一種誤解就是“因?yàn)槎丝谔?hào)上限為65535,所以TCP服務(wù)器理論上的可承載的最大并發(fā)連接數(shù)也是65535”。

先說(shuō)結(jié)論:對(duì)于TCP服務(wù)端進(jìn)程來(lái)說(shuō),他可以同時(shí)連接的客戶端數(shù)量并不受限于可用端口號(hào)。并發(fā)連接數(shù)受限于linux可打開(kāi)文件數(shù),這個(gè)數(shù)是可以配置的,可以非常大,所以實(shí)際上受限于系統(tǒng)性能。

現(xiàn)在做服務(wù)器開(kāi)發(fā)不加上高并發(fā)根本沒(méi)臉出門,所以為了以后吹水被別人懟“天天提高并發(fā),你自己實(shí)現(xiàn)的最高并發(fā)是多少”的時(shí)候能義正言辭的懟回去,趁著元旦在家沒(méi)事決定自己寫個(gè)demo搞一搞。

這個(gè)測(cè)試主要是想搞明白Linux下哪些參數(shù)配置限制了連接數(shù)的最大值,上限是多少。

一、先說(shuō)下demo的思路:

服務(wù)端用epoll實(shí)現(xiàn),就是簡(jiǎn)簡(jiǎn)單單的接收連接,然后客戶端用go的goroutine,每個(gè)goroutine就是簡(jiǎn)單的建立連接,然后什么也不做。

上代碼:

server:

/* * g++ -o test_epoll ./test_epoll.c */#include <unistd.h>#include <sys/types.h>#include <sys/socket.h>#include <sys/epoll.h>#include <netinet/in.h>#include <arpa/inet.h>#include <stdio.h>#include <stdlib.h>#include <string.h>#include <errno.h>int SetReuseAddr(int fd){ int optval = 1; socklen_t optlen = sizeof(optval); return setsockopt(fd, SOL_SOCKET, SO_REUSEADDR, &optval, optlen);}int main(){ int fd = socket(AF_INET, SOCK_STREAM, 0); int iRet = SetReuseAddr(fd); if (iRet != 0) { printf("setsockopt for SO_REUSEADDR failed, error:%s/n", strerror(iRet)); return iRet; } struct sockaddr_in addr; memset(&addr, 0, sizeof(addr)); addr.sin_family = AF_INET; addr.sin_port = htons(8080); addr.sin_addr.s_addr = INADDR_ANY; if (bind(fd, (struct sockaddr*)&addr, sizeof(addr)) == -1) { printf("bind failed, error:%s/n", strerror(errno)); return errno; } if (listen(fd, 5) == -1) { printf("listen failed, error:%s/n", strerror(errno)); return errno; } printf("Listening on 8080.../n"); int epfd = epoll_create(102400); struct epoll_event event; event.events = EPOLLIN; event.data.fd = fd; epoll_ctl(epfd, EPOLL_CTL_ADD, fd, &event); struct epoll_event revents[102400]; int iOnline = 0; while (1) { int num = epoll_wait(epfd, revents, 102400, 60 * 1000); printf("epoll_wait return %d/n", num); if (num > 0) {  for (int i = 0; i < num; i++)  {  if (revents[i].data.fd == fd)  {   int client;   struct sockaddr_in cli_addr;   socklen_t cli_addr_len = sizeof(cli_addr);   client = accept(fd, (struct sockaddr*)&cli_addr, &cli_addr_len);   if (client == -1)   {   printf("accept failed, error:%s/n", strerror(errno));   if (errno == EMFILE)   {    printf("per-process limit reached/n");    exit(errno);   }   if (errno == ENFILE)   {    printf("system-wide limit reached/n");    exit(errno);   }   continue;   }   iOnline++;   printf("Receive a new connection from %s:%d/n", inet_ntoa(cli_addr.sin_addr), cli_addr.sin_port);   event.events = EPOLLIN;   event.data.fd = client;   epoll_ctl(epfd, EPOLL_CTL_ADD, fd, &event);  }  } } printf("Online number:%d/n", iOnline); } return 0;}

client:

package mainimport ( "net" "fmt" "time" "strconv" "runtime")func Connect(host string, port int) { _, err := net.Dial("tcp", host+":"+strconv.Itoa(port)) if err != nil { fmt.Printf("Dial to %s:%d failed/n", host, port) return } for { time.Sleep(30 * 1000 * time.Millisecond) }}func main() { count := 0 for { go Connect("192.168.63.128", 8080) count++; fmt.Printf("Gorutue num:%d/n", runtime.NumGoroutine()) time.Sleep(100 * time.Millisecond) }}

二、開(kāi)始測(cè)試

第一次:

先說(shuō)結(jié)果,連接數(shù)達(dá)到1031時(shí)accept失敗了,當(dāng)時(shí)還沒(méi)有對(duì)errno做判斷,所以只打印輸出了accept失敗。

Linux,tcp,最大連接數(shù)限制

然后首先想到的是ulimit -n的限制,查看了一下,默認(rèn)值1024,然后就是修改這個(gè)值,在/etc/security/limits.conf中添加一下內(nèi)容:

1 * soft nofile 1024002 * hard nofile 102400

然后關(guān)閉當(dāng)前xshell連接,重新連接即生效,現(xiàn)在看ulimit -n就是102400了。

這兩行的意思就是將每個(gè)進(jìn)程能打開(kāi)的文件描述符個(gè)數(shù)的soft、hard限制調(diào)整為102400,

注:ulimit -n 102400也可以生效,但是這個(gè)修改是臨時(shí)的。

然后進(jìn)行第二次測(cè)試。

第二次:

逗比了,其實(shí)連接數(shù)只有2000+,我之前還在奇怪為啥Windows的默認(rèn)連接數(shù)能有這么高呢,原來(lái)有些連接已經(jīng)斷了,但是因?yàn)槲覜](méi)有做處理,所以以為還在呢,看來(lái)我得再安裝一個(gè)虛擬機(jī)了[二哈]

待繼續(xù)。。。

安裝虛擬機(jī)去,

時(shí)間:2017-12-31 00:09:00

虛擬機(jī)安裝好了,接著搞,

這次是真的超過(guò)10K了。

Linux,tcp,最大連接數(shù)限制

Linux,tcp,最大連接數(shù)限制

連接數(shù)還在增加,不知道能不能最終達(dá)到10萬(wàn)呢,小小的期待ing

時(shí)間:2017-12-31 00:41:00,最終上限卡在28232,golang一直報(bào)dial失敗,由于忘了打印出具體錯(cuò)誤信息了,所以無(wú)從知道為什么dial失敗,所以只能再跑一次T_T

Linux,tcp,最大連接數(shù)限制

 時(shí)間:2017-12-31 01:01:00,添加打印dial失敗的錯(cuò)誤信息的,又跑了一遍,還是在28232時(shí)出現(xiàn)dial失敗,錯(cuò)誤信息:

Linux,tcp,最大連接數(shù)限制

golang的標(biāo)準(zhǔn)庫(kù)文檔中么有對(duì)錯(cuò)誤信息的解釋,從錯(cuò)誤信息來(lái)看,是分配地址失敗,于是想是不是端口地址范圍限制了。

Linux,tcp,最大連接數(shù)限制

查看了一下端口地址范圍,確認(rèn)就是這個(gè)限制,由于端口地址是16位,所以,就算把這個(gè)端口地址范圍修改為1024--65535,也最多能開(kāi)啟64521個(gè)連接,而我現(xiàn)在只有一臺(tái)虛擬機(jī)作為客戶端,所以想要實(shí)現(xiàn)10萬(wàn)連接是不可能了,但是通過(guò)這次測(cè)試,也讓我搞明白了,到底哪些參數(shù)會(huì)限制連接的上限,這就是我想要的。

最后,感謝Linux內(nèi)核團(tuán)隊(duì)的大神們推出了epoll這么牛逼的機(jī)制,才使得我們現(xiàn)在想實(shí)現(xiàn)高并發(fā)是如此的容易,希望自己有一天也能這么牛逼,哈哈。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)VEVB武林網(wǎng)的支持。


注:相關(guān)教程知識(shí)閱讀請(qǐng)移步到服務(wù)器教程頻道。
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
亚洲黄色在线| 亚洲一级网站| 精品一区2区三区| 欧美金发大战黑人最粗videos| 99热在线看| 亚洲欧美天堂网| 欧美一区二区三区成人| 精品午夜电影| 午夜在线一区二区| 久久久青草婷婷精品综合日韩| 国产精品300页| 亚洲综合免费观看高清在线观看| 亚洲一区二区三区视频在线播放| 日韩美女激情视频| 成人涩涩小片视频日本| 国产福利一区二区三区视频| 少妇熟女视频一区二区三区| 欧美a∨亚洲欧美亚洲| 国产精品香蕉一区二区三区| 国产成人精品免费网站| 日韩欧美中文字幕在线视频| 久久精品日产第一区二区三区| 色婷婷成人网| 亚洲国产视频直播| 日韩欧美高清dvd碟片| 中老年在线免费视频| 国严精品久久久久久亚洲影视| 中文字幕在线观看日本| 久久99国产精品久久99小说| 国产精品一区在线| 欧美精品激情blacked18| 在线免费观看国产精品| 中文字幕高清在线免费播放| 成人黄色在线电影| 91亚洲精华国产精华| 在线亚洲色图| 国产精品一区一区三区| 亚洲国产成人一区二区| 欧美女激情福利| 91肉色超薄丝袜脚交一区二区| 亚洲高清自拍| 伊人影院中文字幕| xxxxx99| 欧美成人xxx| 日韩精品一线二线三线| av无码av天天av天天爽| 午夜久久久久久电影| 久久久激情视频| www欧美激情| 黄页视频在线观看| 久久婷婷人人澡人人喊人人爽| 中文字幕有码视频| 国产一区二区自拍视频| 色999久久久精品人人澡69| 黄色激情在线播放| 亚洲视频在线一区观看| 激情久久中文字幕| 国产孕妇孕交大片孕| 91久久国产最好的精华液| 狠狠操夜夜操| 国产在线视频卡一卡二| 中文字幕中文字幕在线一区| 欧美精品v日韩精品v国产精品| 国产精品视频a| 久久99精品国产麻豆婷婷| 国产小视频在线观看| 鲁丝片一区二区三区| 伊人精品在线观看| 精品av久久707| 久久久精品一区| 久久国产精品毛片| 免费一级在线观看| 久久精品国产一区二区三区| 亚洲欧美成人一区二区在线电影| 国产一区二区三区久久久久久久久| 超碰在线97观看| 91久久精品视频| 色琪琪综合男人的天堂aⅴ视频| 亚洲丝袜精品| 99热成人精品热久久66| 国产伦精品一区二区三区在线观看| 不用播放器的免费av| 欧美老女人在线| 亚洲伦片免费看| 色婷婷综合久久久久中文一区二区| 波多野结衣不卡视频| 中文在线字幕观看| 91久久在线| 最新国产精品拍自在线播放| 成人全视频在线观看在线播放高清| av不卡中文字幕| 日韩免费av一区| 成人伦理视频网站| 最新国产乱人伦偷精品免费网站| 自慰无码一区二区三区| 亚洲一区二区国产| 美国十次综合久久| 日本10禁啪啪无遮挡免费一区二区| 亚洲人亚洲人成电影网站色| 欧美成人激情视频| 精品人伦一区二区三电影| 狠狠色噜噜狠狠狠狠色吗综合| 日韩亚洲欧美中文高清在线| 国产精品不卡一区二区三区在线观看| 很黄很污的视频网站| 无限资源日本好片| 亚洲一级免费在线观看| 三级久久三级久久| 久草资源在线观看| 欧美经典三级视频一区二区三区| 国产麻豆一区二区三区在线观看| 日韩成人精品在线观看| 草莓视频末满18勿| 在线观看日韩电影| 五月婷婷综合激情网| 精品人妻一区二区三区麻豆91| 久久电影院7| 亚洲大胆人体视频| 亚洲午夜福利在线观看| 国产精品久久久久7777| 97精品国产97久久久久久久久久久久| 伊人色综合久久天天人手人婷| 亚洲精品在线电影| 国产粉嫩一区二区三区在线观看| 久久av红桃一区二区小说| 成人羞羞国产免费图片| 欧美日韩国产高清| 欧美电影免费看| caoporen人人| 中文字幕一区二区三区四区不卡| 国产欧美综合一区| 日韩av网站电影| 国产精品久久久久久久久久免费| 亚洲欧美成人一区二区三区| 青青青免费视频观看在线| 91精品一区二区| 巨胸大乳www视频免费观看| 成人网在线免费观看| 在线天堂中文资源最新版| 中文字幕桃花岛| 毛片网站免费观看| 午夜精彩视频在线观看不卡| 欧美黑人xxxxx| 日韩在线一区二区三区| 亚洲丝袜另类动漫二区| 99精品国产高清一区二区| 欧美精品18videos性欧| 无国产精品白浆免费视| 精品深夜av无码一区二区老年| 国产农村av| 操你啦视频在线| 91大神在线播放精品| 国产偷国产偷亚洲清高网站| 97在线播放免费观看| 蜜桃成人精品| a'aaa级片在线观看| 国产一区私人高清影院| 国产一区免费看| 国产一区二区成人久久免费影院| 欧美性xxxx极品hd欧美风情| 欧美亚洲国产一区| 欧美三级小视频| 亚洲欧美国产不卡| 国产激情欧美| 日韩黄色片在线| 97成人在线免费视频| 欧美激情久久久| 九九九免费视频| 日韩一级视频免费观看在线| 午夜娱乐在线| 成人高清视频在线观看| 日韩av在线不卡| 精品99在线| 黄色片子免费| 精品精品国产高清一毛片一天堂| 国产免费一级片| 中国一级免费毛片| 国产真实乱偷精品视频| 亚洲free性xxxx护士白浆| 亚洲色婷婷一区二区三区| 久草在线最新视频| 中文字幕在线播放网址| brazzers精品成人一区| 久久久久国色av免费看影院| 天天干天天草| 成人av无码一区二区三区| a视频在线播放| 欧美一区二区黄片| 欧美在线播放| 国产日产精品一区二区三区| 成人午夜碰碰视频| 香蕉网在线视频| 神马精品久久| 日韩大片在线观看视频| 日本高清一区| 国产精品日本欧美一区二区三区| 日韩精品一区二区三区中文在线| 午夜免费久久看| 麻豆91在线观看| 母乳一区在线观看| 美女毛片一区二区三区四区最新中文字幕亚洲| 一卡二卡三卡四卡五卡| 成人欧美一区二区三区在线| 青青草国产在线播放| 国产精品嫩模av在线| 久久亚洲电影天堂| 怕怕欧美视频免费大全| www.国产精品.com| 911福利视频| 中文字幕在线观看一区二区三区| 在线播放/欧美激情| 久久国产视频网| 亚洲第一毛片| 青草av在线| 欧美婷婷久久五月精品三区| 黄色三级小视频| 青青草原综合久久大伊人精品优势| 九色在线播放| 中文字幕国产亚洲2019| 亚洲激情在线播放| 免费在线国产精品| 操喷在线视频| 毛片免费在线观看| 国产精品国产亚洲精品| 日韩精品久久一区二区三区| 色婷婷激情久久| freexxx性亚洲精品| 亚洲综合激情另类小说区| 97精品欧美一区二区三区| 久久久久久久久久久久久女过产乱| 久草综合在线视频| www.污网站| 精品人妻无码一区| 91嫩草在线视频| 国产日韩av网站| 国产成人精品一区二区无码呦| 中文字幕免费观看| 一个人看免费www视频有多爽| 色欲av永久无码精品无码蜜桃| 国产aⅴ夜夜欢一区二区三区| 美女被黑人40厘米进入| 亚洲一区二区三| 国模精品视频一区二区| 欧美双性人妖o0| 亚洲综合网在线观看| 四虎4545www精品视频| 国产成人无码www免费视频播放| 亚洲一区二区三区激情| 91小视频在线| 视频午夜在线| 97影院理论午夜| 天天躁日日躁狠狠躁欧美巨大小说| 超碰资源在线| 爱情岛论坛亚洲自拍| 5566中文字幕一区二区| 亚洲午夜精品一区 二区 三区| 欧美日韩黄色大片| 国产精品乱人伦| 青青草国产在线观看| 永久免费看片在线观看| 欧美色999| 精品视频在线观看| 91精品福利在线| 精品国产伦一区二区三区免费| 成人国产精品免费观看动漫| 成人18视频在线播放| 国产亚洲永久域名| 国产精品嫩草在线观看| 午夜一区在线观看| 99国产精品久久久久久久成人| 麻豆网站免费观看| 国产一区二区导航在线播放| 波多野结衣电影免费观看| 成人性做爰aaa片免费看不忠| 国产一区在线观看视频| 国产69精品久久久久99| 成人高潮片免费视频| 一本到一区二区三区| 色爱av美腿丝袜综合粉嫩av| 91麻豆精品国产无毒不卡在线观看| 亚洲第一色网站| 91麻豆免费看片| 日韩免费中文字幕| 国产精品第一第二| 国产精品每日更新在线播放网址| 综合分类小说区另类春色亚洲小说欧美| 日本大胆欧美人术艺术动态| 国产日韩中文字幕在线| av在线最新| 免费看男女www网站入口在线| www.99精品| 久久久久久影视| 国产偷自视频区视频一区二区| 国产不卡视频在线观看| 亚洲成人精品视频| 日韩成人毛片视频| 丰满白嫩尤物一区二区| 亚洲精品久久久久久久久久久久久久| 久久av无码精品人妻系列试探| 91精品国产高清一区二区三区蜜臀| 久久久国产精品无码| 国产精品久久国产精麻豆96堂| √资源天堂中文在线| 韩国女主播一区二区三区| 成人在线免费观看91| 国产一区日韩一区| 日韩av在线天堂| 91精品国产91久久综合桃花| 偷拍亚洲色图| 日韩精品卡通动漫网站| 青青青爽久久午夜综合久久午夜| 日韩手机在线视频| 国产在线一区二区三区| 夜夜躁日日躁狠狠久久88av| 亚洲天堂精品在线| av在线二区| 大黄网站在线观看| 天堂在线中文网| 亚洲人成人77777线观看| 在线看片成人| 99精彩视频在线观看免费| 欧美一级淫片aaaaaaa视频| 不卡中文一二三区| 日本大胆欧美人术艺术动态| 日韩欧美不卡在线| 亚洲色图13p| 欧美中在线观看| 欧美三级美国一级|