文档章节

t-io 30W长连接并发压力测试报告

openSeLi
 openSeLi
发布于 2017/06/06 13:32
字数 361
阅读 18352
收藏 50

开始前准备。操作系统Ubuntu 12

在/etc/sysctl.conf中添加如下配置:

fs.file-max = 1048576
net.ipv4.ip_local_port_range = 1024 65535
net.ipv4.tcp_mem = 786432 2097152 3145728
net.ipv4.tcp_rmem = 4096 4096 16777216
net.ipv4.tcp_wmem = 4096 4096 16777216

net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_tw_recycle = 1

在/etc/security/limits.conf中添加如下配置:

  *	soft nofile 1048576
  *	hard nofile 1048576

最后使用ulimit -an查询设置是否生效。

测试主机cpu:

内存:

客户端测试机用VMware创建12台虚拟机。机器性能就不列举了。每台虚拟机可以跑3W链接

1:t-io启动时内存占用率以及链接情况

2:5W链接时内存占用情况

3:10W

4:20W

5:30W

----------------------------------------------------------------------------

java进程统计情况

cpu

jvm

2小时后观察内存变化情况如下图

结论如下

1:0-10万连接。内存变化较大。主要是由于内存初始化时jvm会占用一部分内存。

2:10万之后。每增加10万连接 内存占用率上升300M左右。

3:随着连接数增加可以发现cpu性能对连接数影响不大。

4:新生代内存与老生代内存占用率比较合理。

5:并发30W连接在2小时内。内存变化不明显。处于合理状态

根据以上数据可以推论 —-> 以8G内存(可使用内存为7.5G左右)为例:当内存占用率达到5G左右时足以支撑100W并发连接。

© 著作权归作者所有

共有 人打赏支持
openSeLi
粉丝 16
博文 1
码字总数 361
作品 0
西安
私信 提问
加载中

评论(21)

季莫那段情
季莫那段情
沙发
PHP解决网站大数据大流量与高并发

1:硬件方面 普通的一个p4的服务器每天最多能支持大约10万左右的IP,如果访问量超过10W那么需要专用的服务器才能解决,如果硬件不给力 软件怎么优化都是于事无补的。主要影响服务器的速度有:...

会游泳的鱼_
2017/07/14
0
0
PHP如何解决网站大流量与高并发

首先,确认服务器硬件是否足够支持当前的流量。 普通的P4服务器一般最多能支持每天10万独立IP,如果访问量比这个还要大, 那么必须首先配置一台更高性能的专用服务器才能解决问题 ,否则怎么...

_xiaotudou
2013/03/18
0
0
更换 Tengine 后引发的群体事件: OSCers 压力测试报告

上次 OSChina 换了 Druid 连接池后,@整俩硬菜 在论坛发起围攻 OSC 的号召,约定的时间是 16:30:给红薯一次高潮,从你我做起! 完事后写了个报告。 今天早上我发了新闻说 OSChina 改用 Teng...

红薯
2012/11/19
10.7K
41
异数OS 织梦师-纤手(二)-- LPC RPC篇

异数OS 织梦师-纤手(二)-- LPC RPC篇 本文来自异数OS社区 github: https://github.com/yds086/HereticOS 博客:https://blog.csdn.net/AthlonxpX86 异数OS社区QQ群: 652455784 异数OS-织...

心海岛主
2018/08/29
0
0
服务器IO测试,及利用sysbench工具进行mysql oltp性能测试

背景 公司打算2018年有把服务迁移到云上的计划,于是选择了市场上的几款云产品来进行比较,其中对磁盘IO与mysql读写性能的测试是很重要的一个环节。故此,针对云产品的磁盘IO以及云数据库的读...

icenycmh
2018/06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

即将到来的金三银四,这10道springboot常见面试题你需要了解下

1.什么是Spring Boot? 多年来,随着新功能的增加,spring变得越来越复杂。只需访问https://spring.io/projects页面,我们就会看到可以在我们的应用程序中使用的所有Spring项目的不同功能。 ...

别打我会飞
昨天
7
0
JavaScript 复制对象与Object.assign方法无法实现深复制

在JavaScript这门语言中,数据类型分为两大类:基本数据类型和复杂数据类型。基本数据类型包括Number、Boolean、String、Null、String、Symbol(ES6 新增),而复杂数据类型包括Object,而所...

前端小攻略
昨天
1
0
负载均衡算法

woshixin
昨天
2
0
Linux 标准I/O库

标准I/O库处理很多细节,如缓冲区分配、以优化的块长度执行I/O等。这些处理使用户不必担心如何选择正确的块长度。 缓冲 标准I/O库提供缓冲的目的是尽可能减少使用read和write的调用次数。标准...

RongJinhui0
昨天
9
0
MacOS读取NTFS文件系统的硬盘

插入移动硬盘 执行diskutil list #: TYPE NAME SIZE IDENTIFIER 0: FDisk_partition_scheme *750.2 GB ......

晨猫
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部