更多的压力——tsung集群测试

用tsung压力测试时,可能一台机器不能提供所需要的压力,这时可以通过好几台机器组成tsung集群,这样就可以达成单台服务器难以提供的压力。步骤如下:

1、集群的机器之间要能实现无密码提示的ssh登录,见[url=http://cryolite.iteye.com/blog/376893]具体方法[/url]

2、记得在/etc/hosts中配置机器之间的名字解析
127.0.0.1       localhost
10.0.0.252 s252
10.0.0.52 sl52

所有的机器都要有类似这样的配置

3、在控制机器上写tsung.xml,在这个文件中指定所有的client机器,一个例子:
  <clients>
<client host="s252" weight="2" maxusers="800">
<ip value="10.0.0.252"></ip>
</client>
<client host="gserver135" weight="1" maxusers="500">
<ip value="10.0.0.135"></ip>
</client>
</clients>


以上就是全部配置了,当然tsung集群的所有机器上都装有tsung,但是只需要在一台作为控制的机器上配置tsung.xml就行了,其它机器只要满足无密码提示的ssh登陆条件就ok,然后在控制机器上运行
tsung start

集群的压力测试就开始了,最后的结果会自动汇总在控制机器的log目录下,除了在配置文件中,其它过程根本不需要管其它机器的,它们只要开着并联网就行。

还是蛮简单的哈

根据tsung.xml文件配置,控制机器上的tsung会在集群其它机器上自动启动tsung,并在tsung集群的机器间自动分配压力测试,每个机器上可能会有一个或多个tsung实例在运行,取决于每个机器所要提供的压力大小。

如果tsung达不到指定的压力,这时tsung不会再继续,将自动退出。你只能试着减少压力,或者增加机器才能提供更大的压力。


注意:
启动tsung start后如果出现错误提示:
Host key verification failed

这是因为tsung通过主机名(而不是ip地址)互相登陆,解决办法是通过主机名(而不是ip地址)远程ssh登录,例子如下,yes之后会在.ssh/known_hosts文件中记下主机名的登录
ssh gserver135
### Linux 流量压测简介及常用工具 流量压测(Load Testing)是指对系统施加一定的负载,模拟真实用户的并发访问情况,以此评估系统在高负荷条件下的性能表现。对于Linux环境而言,有许多强大的开源工具可以帮助开发者轻松完成这项任务。以下是几种常见的Linux流量压测方法和工具: --- #### 一、使用 Apache Bench (`ab`) 进行简单HTTP请求压测 Apache Bench 是一款轻量级的压力测试工具,特别适用于Web服务器性能评测。它能够发送大量HTTP GET/POST 请求,并统计响应时间和成功率等指标。 ##### 示例命令: ```bash # 对 http://example.com 发送100次请求数,每次最多5个并发连接数 $ ab -n 100 -c 5 http://example.com/ ``` --- #### 二、利用 JMeter 实现复杂场景的流量仿真 JMeter是一款功能强大且易于使用的图形界面压力测试工具,支持多种协议包括 HTTP(S), FTP, JDBC 数据库查询等等。用户可以自定义脚本创建复杂的交互过程,甚至加入随机变量来更贴近实际情况。 ##### 主要特性: - 支持分布式的采样模式,能协调多个代理同时发起攻击; - 内置丰富的监听器组件可视化分析结果图表; - 提供插件生态系统便于扩展定制化需求; --- #### 三、通过 Gatling 构建高性能异步压力机群 Gatling是一个基于 Scala 开发的高度可扩展性负载生成引擎,擅长处理大规模并发连接并提供详尽告输出。其 DSL (领域特定语言)设计直观易懂,适合非程序员也能快速上手编写高效的基准测试案例集。 ##### 特点亮点: - 异步 I/O 模型极大提高了资源利用率效率; - 自动生成HTML格式的结果表包含各种维度的数据透视表单; - 友好的社区文档和技术论坛解决问题无忧; --- #### 四、借助 Locust 动态调整虚拟用户的行为习惯 Locust以其灵活性著称于世,允许你用Python编写测试脚本来精确控制每个“访客”的行动轨迹——无论是浏览网页还是提交订单都变得随心所欲。此外还具备良好的UI界面对比其他同类产品更加人性化友好。 ##### 关键优势: - 纯Python实现容易与其他服务整合集成; - 直观的任务调度算法确保公平分配工作负担; - RESTful API接口开放使得二次开发无限可能; --- #### 五、采用 Wrk 执行超高强度连续冲击实验 Wrk旨在追求极致速度而诞生,专攻高吞吐量低延迟领域的极限挑战者之一。该工具默认开启多线程模式充分利用现代CPU算力,并结合Lua 脚本语言赋予使用者更大的自由度来自定义事务流程。 ##### 基础用法示例: ```bash # 向目标URL发出每秒尽可能多的请求持续60秒钟 wrk -d60s https://target-server-url/path ``` 或者配合 Lua 脚本使用: ```bash # 加载lua脚本来进行更为细致的操作设定 wrk -t12 -c400 -d30s script.lua https://test.api.endpoint ``` --- #### 六、选择 Tsung 分布式集群联合攻势作战 Tsung是另一款优秀的开放式源码解决方案,专门针对大型网站和服务端架构打造的专业级测评套件。除了常规的功能外还可以跨越物理边界组建跨区域协同作业组队进行超大范围内的综合考验活动。 ##### 技术细节概述: - 支援 Erlang/Elixir 平台天生具有容错性和伸缩性的基因特质; - 多种传输层协议适配满足不同类型业务诉求差异; - XML 配置文件简化操作流程降低学习成本门槛; --- #### 结论与建议 选择合适的压测工具有助于提高工作效率并且获得准确可靠的结论。如果你只是想做一些简单的静态页面加载速度检测,则可以选择像`ab`这样入门级别的工具;而对于那些涉及数据库读写或者其他动态内容生成的应用来说,就需要考虑功能更多元化的选项如JMeter或Locust了。无论如何,请务必提前做好充分规划,明确预期目的再动手实践哦! ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值