位置: 编程技术 - 正文
推荐整理分享4G内存服务器epoll并发量最大能达到多少?(内存 服务器),希望有所帮助,仅作参考,欢迎阅读内容。
文章相关热门搜索词:服务器内存 1r4 2r4有什么区别,4g服务器内存条,服务器4g内存够用吗,4G内存服务器可用内存,服务器内存4rx4,内存 服务器,服务器内存4rx4,4g服务器内存条,内容如对您有帮助,希望把文章链接给更多的朋友!
按照题主的意思 是根据内存去算一个最大并发的连接数. 那么首先要找出来单个连接消耗内存的地方.
第一个首先是socket buffer. read 和write 分别有一个, 默认大小在复制代码代码如下:/proc/sys/net/ipv4/tcp_rmem (for read)/proc/sys/net/ipv4/tcp_wmem (for write)默认大小都是K和K, 最低是4K和4K, 最高是2M,2M, 实际使用默认值最低也要保留8K,8K.
然后是逻辑IO缓冲区
就是比如你监听了recv事件 事件来了 你要有内存可用(一般都是socket建立起就分配好,断开才会释放的).这个内存是自己写socket程序时候自己控制的, 最低也要4K,4K, 实际使用8K,8K至少.
现在设定一个优化方案和使用场景, 首先假设4G内存全部为空闲(系统和其他进程也要内存的….
假如网络包的大小都可以控制在4K以下, 假设所有连接的网络都不会拥堵, 或者拥堵时候的总量在4K以下:一个连接的内存消耗是4+4+4+4=K4G/K=.2万并发
假如网络包的大小都可以控制在8K以下, 假设所有连接的网络都不会拥堵, 或者拥堵时候的总量在8K以下一个socket的内存占用介于 K ~ K之间, 保守的按照K算 4G/K=.1万并发, 这个在生产环境作为一个纯网络层面的内存消耗, 是可以作为参考的.
假如使用默认配置, 假如所有连接的网络都出现严重拥堵, 不考虑逻辑上的发送队列的占用,使用默认配置是2M+2M+8+8 ~= 4M4G/4M=并发 ( …如果考虑到发送队列也拥堵的话 自己脑补.
如果只是为了跑分 为了并发而优化, 没有常驻的逻辑缓冲区 并且socket的网络吞吐量很小并且负载平滑, 把socket buffer size设置系统最低.那么是4G/8K = .4万并发 这个应该是极限值了.
Linux下grep命令使用实例 grep命令参数grepword文件名grepword文件1文件2文件3文件Ngrep字符串1字符串2文件名cat文件名|grep字符串命令|grep字符串grepcolor字符串文件名如何使用grep命令去
grep正则表达式实现查找某个特定的IP地址 下面会举几个在grep命令中使用正则表达式从一个文件中匹配到特定的IP地址。下面的正则表达式将会匹配IPV4的地址。正则表达式匹配IP地址:使用下面
Linux自动生成MAC地址的多种方法 Linux下生成MAC地址的方法有很多种,除了常见的shell生成法外,还能通过Perl、ruby等方法来生成MAC地址,下面小编对MAC地址的自动生成方法做了简单的汇
标签: 内存 服务器
本文链接地址:https://www.jiuchutong.com/biancheng/364809.html 转载请保留说明!友情链接: 武汉网站建设