精华内容
下载资源
问答
  • 服务器压测

    2020-12-31 10:00:38
    怎么做服务器压力测试?一、阿里云推出了一款测压服务:阿里云性能测试PTS二、http_load 一般来说我们需要做一下压力测试来判断。比如该项目上线后预计每天一百万的接口访问量,并且访问时段主要集中在早八点到晚八...

    一般来说我们需要做一下压力测试来判断。比如该项目上线后预计每天一百万的接口访问量,并且访问时段主要集中在早八点到晚八点,那么平均下来 RPS 大约是 22 次左右,不过用户的访问量通常不会很平均,假设峰值流量是平均流量的 3 到 5 倍的话,那么我们可以推断出项目要想顺利上线,RPS 至少应该达到 66+ 次,110+ 次更好。

    一、阿里云推出了一款测压服务:阿里云性能测试PTS

    阿里云的性能测试PTS无需安装软件;脚本场景监控简单化,省时、省力;分布式并发压测,施压能力无上限;快速大规模集群扩容、支持几十万用户及百万级TPS性能压测;可模拟海量用户的真实业务场景,全方位验证业务站点的性能、容量和稳定性。

    PTS 广泛应用于各种压力测试和性能测试场景,包括但不限于以下场景:
    具体参考: https://iil.ink/alipts1

    二、http_load

    程序非常小,解压后也不到100K
    http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。
    但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。
    还可以测试HTTPS类的网站请求。
    下载地址:http_load-12mar2006.tar.gz

    安装很简单

    	#tar zxvf http_load-12mar2006.tar.gz
    	#cd http_load-12mar2006
    	#make && make install
    

    基本用法:
    http_load -p 并发访问进程数 -s 访问时间 需要访问的URL文件
    *
    参数其实可以自由组合,参数之间的选择并没有什么限制。

    比如你写成http_load -parallel 5 -seconds 300 urllist.txt也是可以的。

    我们把参数给大家简单说明一下。

    -parallel 简写-p :含义是并发的用户进程数。
    -fetches 简写-f :含义是总计的访问次数

    -rate 简写-p :含义是每秒的访问频率
    -seconds 简写-s :含义是总计的访问时间

    准备URL文件:urllist.txt,文件格式是每行一个URL,URL最好超过50-100个测试效果比较好。

    文件格式如下:

    https://iil.ink/m6c5a
    https://iil.ink/qiyeji2zhe
    https://iil.ink/rds85zhe
    https://iil.ink/txljsl
    https://iil.ink/gamedun
    https://iil.ink/duanxinsms
    https://iil.ink/alicdn
    

    例如:
    http_load -p 30 -s 60 urllist.txt
    参数了解了,我们来看运行一条命令来看看它的返回结果如下:

    结果分析:

    1. 294 fetches, 30 max parallel, 3.83835e+06 bytes, in 60.0026 seconds
      说明在上面的测试中运行了294个请求,最大的并发进程数是30,总计传输的数据是3.83835e+06bytes,运行的时间是60.0026秒
    2. 13055.6 mean bytes/connection
      说明每一连接平均传输的数据量3.83835e+06/294=13055.6
    3. 4.89979 fetches/sec, 63969.7 bytes/sec
      说明每秒的响应请求为4.89979,每秒传递的数据为63969.7 bytes/sec
    4. msecs/connect: 312.009 mean, 1319.57 max, 209.994 min
      说明每连接的平均响应时间是312.009 msecs,最大的响应时间1319.57 msecs,最小的响应时间209.994 msecs
    5. msecs/first-response: 1191.01 mean, 10212.4 max, 220.78 min
    6. HTTP response codes:
    7. 200 – 127

    code 502 – 166
    说明打开响应页面的类型。
    如果403的类型过多,那可能要注意是否系统遇到了瓶颈。

    特殊说明
    测试结果中主要的指标是 fetches/sec、msecs/connect 这个选项,即服务器每秒能够响应的查询次数。
    用这个指标来衡量性能。似乎比 apache的ab准确率要高一些,也更有说服力一些。
    Qpt-每秒响应用户数和response time,每连接响应用户时间。
    测试的结果主要也是看这两个值。
    当然仅有这两个指标并不能完成对性能的分析,我们还需要对服务器的cpu、men进行分析,才能得出结论。

    展开全文
  • 滴滴全链路压测实践

    2017-04-09 09:45:57
    哪些类型的业务适合全链路压测,运用这样测试方法的产品会有哪些特点? 团队的构成和分工是怎样的,大概投入了多少人力、成本、性价比如何? 压测是对产线的整个集群?还是专门布署了压力服务器 ? 模拟的乘客、...
  • 相同的服务、多个IP地址,可以在F5上一个对外虚ip,压测的时候直接填对外虚ip,怎么交给后端服务器就是f5来处理了。生产上这种情况很多,一个机器对应一个服务,每个服务都是多个ip地址。 举个例子: 1.1和1.2是...

    压测工具:loadrunner

    监控工具:f5、Zabbix、secureCRT

    工具说明:

    F5负载均衡  是一个硬件设备,可以通过浏览器监控压测时候的总人数、并发。相同的服务、多个IP地址,可以在F5上做一个对外虚ip,压测的时候直接填对外虚ip,怎么交给后端服务器 就是f5来处理了。生产上这种情况很多,一个机器对应一个服务,每个服务都是多个ip地址。

    举个例子: 1.1和1.2是wechat-front1和wechat-front2这两个服务自己的IP,测试的时候不可能把1.1和1.2都绑上,这个时候运维就会给我们提供一个1.0的地址,1.0就是在F5上面做的1.1和1.2的公共ip,专业词是虚ip。测试拿到1.0之后 绑定到压力机的Hosts里面,然后执行脚本的时候,就能在f5看见连接数。F5会设置一个连接数的范围,比如5000,也就是相当于 5000通过F5设置的分发负责分配给1.1wechat-front1和1.2wechat-front2。

     

    Zabbix 专门监控服务器,如流量等。

    https://www.cnblogs.com/mysql-dba/p/5012624.html

     

    secureCRT 用于监控服务器cpu、内存等参数。

     

    如果想了解更多f5的内容,可以查看以下链接:

    F5负载均衡原理 https://www.cnblogs.com/ruiati/p/9102201.html

    【转】浅谈Nginx负载均衡与F5的区别 https://www.cnblogs.com/zdd-java/p/6426236.html

    关于F5负载均衡你认识多少?https://blog.csdn.net/tvk872/article/details/80634898

    转载于:https://www.cnblogs.com/meixiaoqiu/p/10911111.html

    展开全文
  • 概述sysbench是基于LuaJIT的...前面我们已经用sysbench在生产环境压测并得到了一些数据,下面主要是介绍怎么数据分析。一、压测环境生产环境:MySQL服务器IP地址:xx.xx.xx.xx操作系统:CentOS Linux rele...

    概述

    sysbench是基于LuaJIT的可以脚本化多线程基准。 它是一个模块化的、跨平台、多线程基准测试工具,最常用于数据库基准测试,但也可以用于创建不涉及数据库服务器的任意复杂工作负载。

    前面我们已经用sysbench在生产环境做了压测并得到了一些数据,下面主要是介绍怎么来做数据分析。


    一、压测环境

    生产环境:

    MySQL服务器IP地址:xx.xx.xx.xx

    操作系统:CentOS Linux release 7.3.1611 (Core)

    CPU:4核

    内存:8G

    硬盘:普通SAS硬盘

    基线测试工具:sysbench


    二、压测结果分析

    1、分析tps

    ./analyze_tps.sh /home/sysbench/2_threads_64M_buffer_256M_logsize.log /home/sysbench/log2.data./analyze_tps.sh /home/sysbench/100_threads_64M_buffer_256M_logsize.log /home/sysbench/log100.data./analyze_tps.sh /home/sysbench/200_threads_64M_buffer_256M_logsize.log /home/sysbench/log200.data./analyze_tps.sh /home/sysbench/300_threads_64M_buffer_256M_logsize.log /home/sysbench/log300.data./analyze_tps.sh /home/sysbench/500_threads_64M_buffer_256M_logsize.log /home/sysbench/log500.datapaste /home/sysbench/log2.data /home/sysbench/log100.data /home/sysbench/log200.data /home/sysbench/log300.data /home/sysbench/log500.data > /home/sysbench/logtps.data
    068b46c664aa36c5b7ce6ec6903514f8.png

    2、分析qps

    ./analyze_qps.sh /home/sysbench/2_threads_64M_buffer_256M_logsize.log /home/sysbench/logqps2.data./analyze_qps.sh /home/sysbench/100_threads_64M_buffer_256M_logsize.log /home/sysbench/logqps100.data./analyze_qps.sh /home/sysbench/200_threads_64M_buffer_256M_logsize.log /home/sysbench/logqps200.data./analyze_qps.sh /home/sysbench/300_threads_64M_buffer_256M_logsize.log /home/sysbench/logqps300.data./analyze_qps.sh /home/sysbench/500_threads_64M_buffer_256M_logsize.log /home/sysbench/logqps500.datapaste /home/sysbench/logqps2.data /home/sysbench/logqps100.data /home/sysbench/logqps200.data /home/sysbench/logqps300.data /home/sysbench/logqps500.data > /home/sysbench/logqps.data
    fac642c6e7900d78d512caff6b1699b3.png

    3、生成图片

    ./sysbench-graph.sh /home/sysbench/logtps.data /home/sysbench/tps.jpg

    ./sysbench-graph.sh /home/sysbench/logqps.data /home/sysbench/qps.jpg

    2a5a3dd447f0bb63d09728e351da5fae.png

    4、TPS和QPS效果图:

    d1ba95c865750628166736b6eae3dad8.png
    1923a063ec2f6d8f3ee14b045e2376d7.png

    5、分析tpmc(每分钟事务数)

    log_buffer=64M,innodb_buffer_size=6G,Log_file=256M时;

    测试并发数分别取2、100、200、300、500对应的TpmC值(总的事务数/1800s/60)

    (当并发数达到800后,TPCC测试会导致数据库崩溃)

    586cc54cb336de9d25b1c4bfbd27ec57.png

    结果:

    67a914d716c1cabdda4d0aef110283fa.png
    05253a31ad0b549ced96273c484506ec.png

    6、分析响应时间(avg)值

    log_buffer=64M,innodb_buffer_size=6G,Log_file=256M时;

    测试并发数分别取2、100、200、300、500对应的avg值

    ab3013e883cc2bbd7e8eae15c649a504.png

    结果:

    05f155c20a8d219387c8957a0fd004ed.png
    fc73c3d7dbc584b108eba8d93286c8ff.png

    三、基准测试总结

    通过使用sysbench基线测试工具对配置为4核8G的虚拟机进行压力测试可以发现,

    在buffer_pool=6G,log_file=256M,log_buffer=64M一定的情况下,并发=100时,测试得到最佳性能。在该环境下

    • TPS≈900
    • QPS≈30000
    • 单次响应时间(avg)≈114ms
    • TpmC≈52605

    采用sysbench测试,并发数在达到800后MySQL崩溃。

    注意:

    1)尽量不要在MySQL服务器运行的机器上进行测试,一方面可能无法体现网络(哪怕是局域网)的影响,另一方面,sysbench的运行(尤其是设置的并发数较高时)会影响MySQL服务器的表现。

    2)可以逐步增加客户端的并发连接数(--thread参数),观察在连接数不同情况下,MySQL服务器的表现;如分别设置为10,20,50,100等。

    3)一般执行模式选择complex即可,如果需要特别测试服务器只读性能,或不使用事务时的性能,可以选择simple模式或nontrx模式。

    4)如果连续进行多次测试,注意确保之前测试的数据已经被清理干净。


    到这里关于sysbench的内容就介绍完成了,后面有空会整理一些sysbench压测脚本,感兴趣的朋友可以关注下~

    0e26adbace7d08fcb75bc389c7934cfe.gif
    展开全文
  • 概述sysbench是基于LuaJIT的...前面我们已经用sysbench在生产环境压测并得到了一些数据,下面主要是介绍怎么数据分析。一、压测环境生产环境:MySQL服务器IP地址:xx.xx.xx.xx操作系统:CentOS Linux rele...

    概述

    sysbench是基于LuaJIT的可以脚本化多线程基准。 它是一个模块化的、跨平台、多线程基准测试工具,最常用于数据库基准测试,但也可以用于创建不涉及数据库服务器的任意复杂工作负载。

    前面我们已经用sysbench在生产环境做了压测并得到了一些数据,下面主要是介绍怎么来做数据分析。


    一、压测环境

    生产环境:

    MySQL服务器IP地址:xx.xx.xx.xx

    操作系统:CentOS Linux release 7.3.1611 (Core)

    CPU:4核

    内存:8G

    硬盘:普通SAS硬盘

    基线测试工具:sysbench


    二、压测结果分析

    1、分析tps

    ./analyze_tps.sh /home/sysbench/2_threads_64M_buffer_256M_logsize.log /home/sysbench/log2.data./analyze_tps.sh /home/sysbench/100_threads_64M_buffer_256M_logsize.log /home/sysbench/log100.data./analyze_tps.sh /home/sysbench/200_threads_64M_buffer_256M_logsize.log /home/sysbench/log200.data./analyze_tps.sh /home/sysbench/300_threads_64M_buffer_256M_logsize.log /home/sysbench/log300.data./analyze_tps.sh /home/sysbench/500_threads_64M_buffer_256M_logsize.log /home/sysbench/log500.datapaste /home/sysbench/log2.data /home/sysbench/log100.data /home/sysbench/log200.data /home/sysbench/log300.data /home/sysbench/log500.data > /home/sysbench/logtps.data
    a6546621dd3c08aa39419e9a56bbb39e.png

    2、分析qps

    ./analyze_qps.sh /home/sysbench/2_threads_64M_buffer_256M_logsize.log /home/sysbench/logqps2.data./analyze_qps.sh /home/sysbench/100_threads_64M_buffer_256M_logsize.log /home/sysbench/logqps100.data./analyze_qps.sh /home/sysbench/200_threads_64M_buffer_256M_logsize.log /home/sysbench/logqps200.data./analyze_qps.sh /home/sysbench/300_threads_64M_buffer_256M_logsize.log /home/sysbench/logqps300.data./analyze_qps.sh /home/sysbench/500_threads_64M_buffer_256M_logsize.log /home/sysbench/logqps500.datapaste /home/sysbench/logqps2.data /home/sysbench/logqps100.data /home/sysbench/logqps200.data /home/sysbench/logqps300.data /home/sysbench/logqps500.data > /home/sysbench/logqps.data
    d06ee027ca6c0ddd26dc3bfebca13b2e.png

    3、生成图片

    ./sysbench-graph.sh /home/sysbench/logtps.data /home/sysbench/tps.jpg

    ./sysbench-graph.sh /home/sysbench/logqps.data /home/sysbench/qps.jpg

    1e92a0ba832c2a8a3225b5f07bd890f1.png

    4、TPS和QPS效果图:

    9b23d8b8357a614b48d80965a328e57e.png
    40f42ebb3f3147823c0bc0ee55044fdd.png

    5、分析tpmc(每分钟事务数)

    log_buffer=64M,innodb_buffer_size=6G,Log_file=256M时;

    测试并发数分别取2、100、200、300、500对应的TpmC值(总的事务数/1800s/60)

    (当并发数达到800后,TPCC测试会导致数据库崩溃)

    b1cf6504119ee41f5d07c8b86f0a8946.png

    结果:

    d1da3feb323d2a4e80ca3ffde80b2022.png
    3dc670018a737ef383a166d3217ae052.png

    6、分析响应时间(avg)值

    log_buffer=64M,innodb_buffer_size=6G,Log_file=256M时;

    测试并发数分别取2、100、200、300、500对应的avg值

    4d139a6e1d49a5511b5e645b010cd5a6.png

    结果:

    f3c9f1ec4c92f852a943da9b2edfce36.png
    504339a017c3c25977f75868f86bf6ec.png

    三、基准测试总结

    通过使用sysbench基线测试工具对配置为4核8G的虚拟机进行压力测试可以发现,

    在buffer_pool=6G,log_file=256M,log_buffer=64M一定的情况下,并发=100时,测试得到最佳性能。在该环境下

    • TPS≈900
    • QPS≈30000
    • 单次响应时间(avg)≈114ms
    • TpmC≈52605

    采用sysbench测试,并发数在达到800后MySQL崩溃。

    注意:

    1)尽量不要在MySQL服务器运行的机器上进行测试,一方面可能无法体现网络(哪怕是局域网)的影响,另一方面,sysbench的运行(尤其是设置的并发数较高时)会影响MySQL服务器的表现。

    2)可以逐步增加客户端的并发连接数(--thread参数),观察在连接数不同情况下,MySQL服务器的表现;如分别设置为10,20,50,100等。

    3)一般执行模式选择complex即可,如果需要特别测试服务器只读性能,或不使用事务时的性能,可以选择simple模式或nontrx模式。

    4)如果连续进行多次测试,注意确保之前测试的数据已经被清理干净。


    到这里关于sysbench的内容就介绍完成了,后面有空会整理一些sysbench压测脚本,感兴趣的朋友可以关注下~

    ba2a50ed373b94df2bd2b1f7e905007a.gif
    展开全文
  • 了一个棋牌游戏的服务器,想要模拟几百个客户端同时进行,怎么压测工具或者说有什么好的工具推荐
  • 概述众所周知,benchmark测试,一般都采用ab,wrk,siege等工具。但是对于长连接,尤其是有信息交互的场景,这些工具很难做到。对于websocket的压力测试,更是很难得出有效的结果。这里我参考了nodeJS库中的...
  • 本人在性能测试的过程中,遇到一个问题,测试机选了一台Linux服务器,只有命令行界面。执行测试用例不是非常的灵活,有时候我需要改一两个参数添加一些日志,都需要重新打包部署,虽然自动化构建比较方便,但感觉...
  • Jmeter 上传下载文件

    2019-04-19 10:10:00
    最近很多同学都在问jmeter上传、下载文件的脚本怎么做,要压测上传、下载文件的功能,脚本怎么做,网上查了都说的很含糊,这次呢,咱们就好好的把jmeter的上传下载文件好好缕缕,都整明白了,怎么个过程,怎么做。...
  • Jmeter骚操作—文件上传、下载

    千次阅读 2017-12-15 15:29:00
    最近很多同学都在问jmeter上传、下载文件的脚本怎么做,要压测上传、下载文件的功能,脚本怎么做,网上查了都说的很含糊,这次呢,咱们就好好的把jmeter的上传下载文件好好缕缕,都整明白了,怎么个过程,怎么做。...
  • 刚开始压测,发现xshell与nginx服务器的连接断开了,怎么都连不上去。但是处在同一个网段的其它服务器还能正常连接(全部服务器都放在同一个防火墙后面的,然后NAT映射出去的)。从其他node上ping nginx服务器可以...
  • 经常有朋友问我性能测试流程是什么样的,每次我都简单说说,但这东西三言两语说不清,刚好现在刚压测完一个项目,快要放假不忙,就拿刚测试完的项目写一下我们性能测试是怎么做的。 一、项目背景 此次需要压测接口...
  • 经常有朋友问我性能测试流程是什么样的,每次我都简单说说,但这东西三言两语说不清,刚好现在刚压测完一个项目,快要放假不忙,就拿刚测试完的项目写一下我们性能测试是怎么做的。 一、项目背景 此次需要压测接口...
  • Jmeter也能IP欺骗!

    2018-12-21 20:19:00
    之前有小伙伴问到jmeter有没有和loadrunner一样的ip欺骗功能,这篇文章介绍一下什么是ip欺骗,他有什么用,咱们用jmeter的时候,ip欺骗怎么做。 ip欺骗是什么? ip欺骗就是模拟ip。什么意思呢,一个电脑就...
  • 大部分同学都有使用jmeter做压力测试的经验,那么请问:怎么做压力测试?大家可能会回答:“加线程组,加并发,查看结果树或者聚合报告”。那么请问什么是压力呢? 在我们实际工作中,压力通常用RPS来表示。RPS...
  • Apache实现限速(针对每个客户端限速)

    千次阅读 2015-09-08 13:40:54
    服务器视频播放做压测,发现后来点开的视频会出现卡顿情况,后来查看是因为前面打开的视频大量下载,占用较多,怎么能够对每个终端进行限制呢,百度了下找到了相关资料,整理了下,分享下。 mod_bw 是一个apche的...
  • 我曾经在一台配置比较好的服务器上,对 Kafka 过极限的性能压测,Kafka 单个节点的极限处理能力接近每秒钟 2000 万条消息,吞吐量达到每秒钟 600MB。 你可能会问,Kafka 是如何做到这么高的性能的? 之前就曾...
  • 在一台配置比较好的服务器上,对 Kafka 过极限的性能压测,Kafka 单个节点的极限处理能力接近每秒钟 2000 万条消息,吞吐量达到每秒钟 600MB。 你可能会问,Kafka 是如何做到这么高的性能的? 我们在专栏“进阶...
  • Kafka高性能之道

    千次阅读 2020-08-08 03:01:36
    一台配置较好的服务器,对Kafka极限性能压测,Kafka单节点的极限处理能力接近2000万条消息/s,吞吐量达600MB/s。 你可能会问,Kafka是如何做到这么高的性能的? 我们在专栏“进阶篇”的前几节课,讲的知识点一直...
  • 压测些什么? 千万级、亿级流量怎么处理? 分布式架构由来 分布式事务 1.4 w字,25 张图让你彻底掌握分布式事务原理 后端技术学些啥 我难道天生就是个架构师?这可是100k并发啊 互联网前沿技术 容器化:...
  • 一文带你搞懂API网关

    2020-12-28 06:45:32
    APP/Browser怎么去访问这些后端的服务? 如果业务比较简单的话,可以给每个业务都分配一个独立的域名(<code>https://service.api.company.com</code>),但这种方式会有几个问题: <ul><li>每个业务都会...

空空如也

空空如也

1 2
收藏数 26
精华内容 10
关键字:

服务器压测怎么做