单机模拟高并发进行压力测试

本文主要介绍如何使用netty实现C100K级别的并发长连接

Socket五元组

理论上,客户端IP与端口,服务端IP与端口以及通讯协议(TCP|UDP)构成了一个连接的五元组。改变其中任何一个元素都可以新建一个连接。如果想要单台机器或者两台机器模拟数十万的连接数,仅仅靠系统分配的端口数目是不够的,我们必须要改变其中的IP元素。本文采取的方式是利用linux的secondary ip机制,为服务端分配多个IP,理论上最多可以分配(2^32-1)个IP,连接数目可达2^16 * IP数目,远远超出我们的目标连接数。

调整系统参数限制

端口范围检查

lg@lenove:~$ sudo sysctl --all | grep port_range
net.ipv4.ip_local_port_range = 10000    60000 //有5w可用

tcp设置检查

lg@lenove:~$ sudo sysctl --all | grep tw_reuse

net.ipv4.tcp_tw_reuse = 1 //允许将TIME-WAIT sockets重新用于新的TCP连接,优化客户端处理能力

检查系统文件句柄限制

lg@lenove:~$ ulimit -Hn

1000000 //100w

左右互博:单机模拟100k并发

配置secondary ip, 这里配了20个,理论上可以支持100W个TCP连接(20个IP*5w个端口)

lg@lenove:~$ seq 20 | xargs -i sudo ip addr add 127.0.1.{}/8 dev lo 

lg@lenove:~$ ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet 127.0.1.1/8 scope host secondary lo
       valid_lft forever preferred_lft forever
    inet 127.0.1.2/8 scope host secondary lo
       valid_lft forever preferred_lft forever
    inet 127.0.1.3/8 scope host secondary lo
       valid_lft forever preferred_lft forever
    inet 127.0.1.4/8 scope host secondary lo
       valid_lft forever preferred_lft forever
    inet 127.0.1.5/8 scope host secondary lo
       valid_lft forever preferred_lft forever
    inet 127.0.1.6/8 scope host secondary lo
       valid_lft forever preferred_lft forever
    inet 127.0.1.7/8 scope host secondary lo
       valid_lft forever preferred_lft forever
    inet 127.0.1.8/8 scope host secondary lo
       valid_lft forever preferred_lft forever
    inet 127.0.1.9/8 scope host secondary lo
       valid_lft forever pr
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
单机APP的性能进行测试可以按照以下步骤进行: 1. 确定性能测试目标:明确测试的目的和重点,例如响应时间、资源占用、耗电量等方面的性能。 2. 设计测试场景:根据实际使用情况和目标,设计合理的测试场景,包括用户操作流程、数据量、并发用户数量等。 3. 选择性能测试工具:根据需求选择合适的性能测试工具,常用的工具包括JMeter、LoadRunner、Gatling等。这些工具可以模拟多用户同时操作、生成大量数据流量等。 4. 设置测试环境:搭建测试环境,包括部署APP到测试设备或模拟器上,并准备好相应的测试数据。 5. 执行性能测试:使用性能测试工具按照设计好的测试场景进行测试,记录测试过程中的性能数据和指标。 6. 分析结果和优化:根据测试结果分析,找出性能瓶颈和问题,并进行优化。可以通过调整代码、优化算法、减少资源占用等方式提升性能。 7. 迭代测试:根据优化结果,再次进行性能测试,以验证改进措施的有效性。 在进行性能测试时,还需要注意以下几点: - 确保测试环境与实际生产环境接近,以保证测试结果的可靠性和准确性。 - 做好测试记录和报告,包括测试过程、结果和优化建议,方便后续分析和改进。 - 针对不同的性能指标,设置合理的阈值和目标,以便评估APP的性能达到何种程度。 通过以上步骤和注意事项,可以有效地对单机APP的性能进行测试和优化,提升用户体验和APP的质量。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值