【性能测试报告】
2016-11-22 00:00
148 查看
[b]【性能测试报告】[/b]
[b]测试目的:[/b]测试分布式架构下单纯进行转码切图应用的处理能力(吞吐率)
[b]测试条件:[/b]
云桌面
CPUIntel 2.5GHz 1处理器 64bitOS
内存 8G
[b]测试过程:[/b]
[b]生产应用App1[/b]
生产者线程(1个)
负责从阿里云拉取房间号(1000个)并写入Kafka队列
消费者线程(1个)
负责从Kafka队列拉取房间号,下载云视频至本地并写入本地队列
本地消费线程(5个)
负责从本地队列拉取视频进行转码切图操作
[b]消费应用App2[/b]
消费者线程(1个)
负责从Kafka队列拉取房间号,下载云视频至本地并写入本地队列
本地消费线程(5个)
负责从本地队列拉取视频进行转码切图操作
[b]测试结果:[/b]
(I)在一台机器上开了两个应用App1 和App2
[b]App1(518个)[/b] | [b]App2(482)[/b] | |
Kafka入队时间 | 13:09:17.570 | 13:09:17.567 |
Kafka出队时间 | 13:09:25.063 | 13:09:27.569 |
本地入队时间 | 13::09:25.178 | 13:09:28.068 |
开始处理时间 | 13::09:25.178 | 13:09:28.068 |
结束处理时间 | 13:12:56.644 | 13:12:42.873 |
耗时 | 211s | 194s |
吞吐率 | 518/211=2.45个/秒 | 482/194=2.48个/秒 |
处理能力 | [b]2.45+2.48=4.93个/秒=295.8个/分钟=425952个/天[/b] |
[b]App1(509个)[/b] | [b]App2(491)[/b] | |
Kafka入队时间 | 13:32:44.686 | 13:32:44.677 |
Kafka出队时间 | 13:32:56.994 | 13:32:46.877 |
本地入队时间 | 13:32:57.057 | 13:32:47.303 |
开始处理时间 | 13:32:57.058 | 13:32:47.304 |
结束处理时间 | 13:36:00.852 | 13:35:42.984 |
耗时 | 183s | 175s |
吞吐率 | 509/183=2.78个/秒 | 482/194=2.81个/秒 |
处理能力 | [b]2.78+2.81=5.59个/秒=335.4个/分钟=482976个/天[/b] |
[b]测试分析:[/b]
[b]线程数[/b] | [b]开始时间[/b] | [b]结束时间[/b] | [b]处理时长(秒)[/b] | [b]吞吐率(个/秒)[/b] | [b]吞吐率(个/分钟)[/b] | [b]CPU(%)[/b] |
1 | 17:46:00.805 | 17:57:44.790 | 704 | 1.580 | 94.8 | <10 |
5 | 19:13:00.281 | 19:16:01.671 | 181 | 6.149 | 368.94 | 30 |
10 | 18:00:53.815 | 18:03:09.023 | 124 | 8.976 | 538.56 | 60 |
原因主要取决于测试服务器的性能,单应用的处理能力是在生产服务器(备)上测试的,双核CPU,SSD磁盘阵列,对这种CPU密集型的操作性能较好。而双应用的处理能力是在云桌面服务器上测试的,单核CPU,普通磁盘。
[b]测试结论:[/b]
目前的测试结果,开启两个消费者应用的处理能力为[b]335.4[/b]个/分钟,可支持最高一天[b]482976[/b]批次视频的处理,按照近期生产能力最高纪录11月25日,日处理视频[b]21947[/b]个,峰值[b]68[/b]个/分钟的生产速度,能够满足当前处理能力。
生产数据来源详见Tower-每日生产数据追踪:
https://tower.im/s/45IZ3
新架构下支持水平扩展,可通过多台服务器部署消费应用App2来提高集群应用的并行处理能力。同时对于服务器性能好的机器可通过多开消费线程数来垂直扩展单个应用的并行处理能力。
单独对18生产服务器进行压测的报告
[b]测试目的:[/b]
测试单纯进行转码切图应用在多个线程并行执行的处理能力(吞吐率)
[b]测试条件:[/b]
61.132.51.18生产服务器(备)
CPUIntel 2.3GHz 2处理器 64bitOS
内存 16G
[b]测试过程:[/b]
将生产视频(1113个)一次写入队列,分别起1个线程,5个线程,10个线程执行转码切图操作,计算处理视频的平均吞吐率(每秒处理视频个数)。
[b]测试结果:[/b]
[b]线程数[/b] | [b]开始时间[/b] | [b]结束时间[/b] | [b]处理时长(秒)[/b] | [b]吞吐率(个/秒)[/b] | [b]吞吐率(个/分钟)[/b] | [b]CPU(%)[/b] |
1 | 17:46:00.805 | 17:57:44.790 | 704 | 1.580 | 94.8 | <10 |
5 | 19:13:00.281 | 19:16:01.671 | 181 | 6.149 | 368.94 | 30 |
[b]10[/b] | 18:00:53.815 | 18:03:09.023 | 124 | 8.976 | [b]538.56[/b] | 60 |
单个应用可通过调整消费线程数来提高应用的处理能力,但是垂直方向(单台机器)的提升能力有限,因此需要考虑应用的水平扩展能力,支持分布式。
相关文章推荐
- 如何分析Analysis中各个图表的含义,写出性能测试报告(继续增加中)
- 性能测试报告(方案)模板
- 《Web性能测试实战》性能测试报告模板
- Reader转化为Entity类时系统性能的测试报告(downmoon原创)
- Reader转化为Entity类时系统性能的测试报告(downmoon原创)
- 关于Map和List的性能测试报告
- Oracle Pro*C/C++游标和存储过程性能测试报告
- 《Web性能测试实战》性能测试报告模板
- 《Web性能测试实战》性能测试报告模板
- ASP程序性能测试报告
- 网络游戏之性能测试篇(一)日志服务器上线测试报告摘要
- 影响性能的测试报告(数据库版)测试源代码
- MYSQL数据库性能测试报告
- asp性能测试报告(转)(六)
- 《Web性能测试实战》性能测试报告模板
- 第一次写性能测试报告,失败...
- 《Web性能测试实战》性能测试报告模板
- 《Web性能测试实战》性能测试报告模板
- 关于Map和List的性能测试报告
- Remoting与Webservice性能测试报告