nginx/apache + tomcat + php + mysql + linux, 介绍如何定位瓶颈与调优
Tomcat
按照官方默认配置。
并发150正常;达到210时,报connection refuse
$TOMCAT_HOME/conf/server.xml中
转载请保留链接地址: https://www.yeetrack.com/?p=1127
nginx/apache + tomcat + php + mysql + linux, 介绍如何定位瓶颈与调优
按照官方默认配置。
并发150正常;达到210时,报connection refuse
$TOMCAT_HOME/conf/server.xml中
转载请保留链接地址: https://www.yeetrack.com/?p=1127
很多场景下,Jmeter都是用作HTTP服务的压测工具。其实,得益于插件,jmeter还有很多其他的功能。其中一条就是用来发送UDP消息,UDP是一种轻量级的网络协议,它的性能一般会很高。
最常用的UDP消息,估计就是dns请求了。DNS服务器的作用是将域名解析成ip地址。 继续阅读
转载请保留链接地址: https://www.yeetrack.com/?p=1077
最近各种的性能测试,其中有一项是mysql的性能测试,目的是测试一主多从的配比下,主库插入速度到达多少时,从库就会出现延时,这样来评估一些强依赖db写的接口的性能(其实最快的还是操作缓存,其实目前也有些公司的系统已经不直接操作db,全部用缓存,然后缓存在后台慢慢和db交互)。
分析mysql的binlog得到全部的insert语句,然后使用jmeter进行压测,得到的结论有下面几条:
转载请保留链接地址: https://www.yeetrack.com/?p=1069
jmeter很小,很快,使用方便,可以在界面运行,可以命令行运行。简单介绍下命令行运行的方式:
sh jmeter.sh -n -t my-script.jmx -R 10.6.5.31,10.6.5.35,10.6.5.36,10.6.5.37,10.6.5.72 -l 8.jtl
上面一条命令应该可以满足大部分需求。
-n:使用命令行模式运行
-t:指定要运行的jmx脚本
-R:指定使用那些slave节点压测
-l:压测记录保存在哪里
使用-R
指定节点时,当然要首先在这些节点上启动jmeter-server的服务,-l
指定日志,jmeter运行过程中 继续阅读
转载请保留链接地址: https://www.yeetrack.com/?p=1051
在测试Android app时,不仅仅要关注app的功能,也好关注app的性能指标,cpu、内存、流量、电量等。简单介绍下电量测试中的cpu耗电。
转载请保留链接地址: https://www.yeetrack.com/?p=1045
Jmeter是个纯java的开源的轻量级性能测试工具,功能强大。因为是轻量级的,与loadrunner相比,报告统计的相对较少。不过有jmeter的插件-JMeterPlugins,可以提供不少其他的报告,包括各种响应时间、吞吐率、线程等的变化曲线等https://www.yeetrack.com/?p=858。
并且这个插件提供了命令行工具,可以将我们看到的各种曲线,各种报告统计成png图片,或者csv文件。这样我们就完全可以通过命令行来运行jmeter,生成jtl文件,然后在解析jtl文件,产生各种报告,或者展示到网页,或者插入到数据库,等等。 继续阅读
转载请保留链接地址: https://www.yeetrack.com/?p=1028
munin是用于Linux系统(也可以监控windows系统)的监控软件。munin除了可以监控系统的各项数值之外,最大的好处是可以自己编写插件自定义监控需要的数值。整个系统的架构简单明了,操作方便。如果是使用Debian或者Ubuntu安装,安装过程也非常简单。munin除了可以监控结果,也可以设置报警。对于我个人对性能测试的工作来说,是个非常好的工具。 继续阅读
转载请保留链接地址: https://www.yeetrack.com/?p=964
使用jmeter Gui时可以很方便的配置远程节点,来分布式地压测,具体方法,不在描述。现在来说使用jmeter-maven-plugin这个插件如何配置分布式。
通过这个<startServersBeforeTests>标签,可以将–runremote命令发送到jmeter.properties中配置的节点机器上,来开启远程服务。
通过这个<stopServersAfterTests>标签,可以将–remoteexit命令发送到jmeter.properties中配置的节点机器上,来关闭远程服务。
<startServersBeforeTests> 和 <stopServersAfterTests>标签可以分开使用,因此我们可以通过其他进程来开启和关闭jmeter的远程服务。 继续阅读
转载请保留链接地址: https://www.yeetrack.com/?p=916
jmeter-maven-plugin插件默认在每个jtl结果文件的文件名中添加时间戳。如果你不想要这个时间戳,可以通过设置<testResultsTimestamp>标签来禁用。样例如下:
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>1.9.0</version>
<executions>
<execution>
<id>jmeter-tests</id>
<phase>verify</phase>
<goals>
<goal>jmeter</goal>
</goals>
<configuration>
<testResultsTimestamp>false</testResultsTimestamp>
</configuration>
</execution>
</executions>
</plugin>
转载请保留链接地址: https://www.yeetrack.com/?p=914
在pom.xml文件中可以指定运行哪些jmx脚本。
Jmeter默认运行${project.base.directory}/src/test/jmeter文件夹中的所有脚本,下面是示例。
<project>
[...]
<build>
<plugins>
<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>1.9.0</version>
<executions>
<execution>
<id>jmeter-tests</id>
<phase>verify</phase>
<goals>
<goal>jmeter</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
[...]
</project>
转载请保留链接地址: https://www.yeetrack.com/?p=912