一分钟了解阿里云产品:性能测试通过SLB保持百万级TCP连接C1M

简介:

一直以来,对SLB的转发性能到底如何比较好奇。于是,最近开了一个测试用的SLB来玩玩C1M,即我们能不能通过一个SLB来保持1百万个TCP长连接?

 

 

我的测试配置如下:

 

  • 1个内网SLB,端口配置8000->8001, TCP按最小连接数转发。
  • 3个后端server ECS,配置4核4G ram。
  • 17个client ECS,配置1核2G ram。
  • server是一个简单的echo service, client每秒向SLB发起500个TCP连接请求,建连后每隔20秒向server发送一个"hello"字符串,server收到后将"hello"发回。连接一旦建立,双方都不close, 会被一直保持住。
  • server和client均使用Erlang实现。

 

 

配置完成让我们来说说测试步骤和测试结果:

 

首先在3个ECS上启动listen在8001端口的server。

然后在17个client ECS上分别启动client,每个client通过SLB的8000端口和后端server建立60000个TCP连接 (尽量用完64k个端口)。

 

测试结果见图,稳定保持百万级TCP连接, 下图只显示了960k (由于SLB的监控数据更新得太慢,我们没有等到它刷新完毕)。最终的峰值是17*60=1020k。

 

3台后端服务器上分别保持了360k, 300k和360k连接。之所以不平均是因为我们一开始想试试只用两台4核4G的ECS能不能hold住C1M,走到720k的时候发现内存不够用了,于是新加入了第三台。由于使用的最小连接数转发,新增的300k连接都全部被分到了这个新加入的节点上。从下图可以看到4核CPU处理C360k无压力,但4G内存已接近oom。

 

17台测试客户端各自的统计数据 (其中8台,其余的类似)。


 

综上可以得出结论:我们可以通过一个SLB来保持1百万(甚至更多的)TCP长连接。

 

如果您想仔细研究负载均衡这方面问题,请访问:https://bbs.aliyun.com/read/228428.html

 

 

 

 

 

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
目录
相关文章
|
10月前
|
安全 网络安全 数据安全/隐私保护
解决SSH测试连接GitHub时出现“connection closed by remote host”的问题。
然后使用 `ssh -T git@ssh.github.com`来测试连接。
1103 0
|
druid Java 数据库连接
【YashanDB 知识库】druid 连接池做断网测试,无法自动重新连接
【YashanDB 知识库】druid 连接池做断网测试,无法自动重新连接
|
druid Java 数据库连接
【YashanDB知识库】druid连接池做断网测试,无法自动重新连接
【YashanDB知识库】druid连接池做断网测试,无法自动重新连接
|
监控 API 开发工具
Socket.IO介绍,以及怎么连接测试Socket.IO接口?
Socket.IO 是一个用于浏览器和服务器间实时双向通信的库,支持低延迟消息传递、跨平台运行及自动重连。文章介绍了其特点与调试需求,并详细说明如何使用 Apifox 工具创建、连接、发送/接收 Socket.IO 事件,以及团队协作和调试技巧。掌握这些技能可提升实时应用开发效率与质量。
|
关系型数据库 MySQL 数据库
6-2|测试连接数据库的命令
6-2|测试连接数据库的命令
|
Java 应用服务中间件 测试技术
阿里云云效产品使用合集之云效流水线如何使用alb ingress的脚本
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
10月前
|
前端开发 Java jenkins
Jmeter压力测试工具全面教程和使用技巧。
JMeter是一个能够模拟高并发请求以检查应用程序各方面性能的工具,包括但不限于前端页面、后端服务及数据库系统。熟练使用JMeter不仅能够帮助发现性能瓶颈,还能在软件开发早期就预测系统在面对真实用户压力时的表现,确保软件质量和用户体验。在上述介绍的基础上,建议读者结合官方文档和社区最佳实践,持续深入学习和应用。
1986 10
|
12月前
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
1568 23
|
监控 网络协议 Java
一些适合性能测试脚本编写和维护的工具
一些适合性能测试脚本编写和维护的工具
745 59