アウトライン
パフォーマンステストでは、サーバリソースの監視が不可欠です。リソースは、ここでは2枚、WindowsとLinuxに分けました
資源の監督下のlinux
当社のWebサイトの訪問http://jmeter-plugins.org/downloads/all/を、3つのファイルをダウンロードしてください。JMeterPluginsスタンダードとJMeterPlugins-エクストラは、クライアントである、ServerAgentは、サーバ側です。
最初の二つは、次のext / libディレクトリにはJMeterに解凍コピーのjarパッケージ後のJMeter延長、で、最後の一つは、サーバーにそれを抽出し、サーバ監視プラグインです
サーバーを監視し、実行する必要のリアServerAgent-2.2.1.zip解凍
chmodの777 startAgent.shのエンパワーメント
監視を開始./startAgent.sh
ポートとIPを設定し、デフォルトのポート4444
あなたは、サーバー上のデフォルトポート--./startAgent.sh -udpポート0 -tcpポートXXXXを変更することができます
適切に設定されますが、サーバを監視することができたことがないときは、あなたは4444ポートは、サーバーのファイアウォールで無効になっているかどうかを検討する必要があります!
実行結果の表示
JMeterの隠された機能:監視するために、プロセスIDを指定します。3点が右側に表示されます、空の場所をダブルクリックします。ここでは、プロセス番号PIDに応じてサーバリソースを監視することができます
監視CPU
代表値は、デフォルト値として百分率は、30%を占め、このときの総CPU時間を表し、30が配置されているグラフである時刻を表示することです。
注目に値する、より便利な場所の2:
1:スコープ領域では、パーのプロセスオプションで指定されたプロセスのCPU使用率を取得することができます
2:CPUのコア領域は、我々は、指定された個々のコアの監視を選択することができます。
監視メモリー
usedperc(默认)和freeperc两项的数值代表与总内存的百分比,其余指标项的数值都是指内存大小,选中对应项,可以看到Metric Unit区域单位配置将变为可用,通常Mb会比较适合观察。同样,也可以选择监控指定进程的数据
监控Disk I/O
queue(默认)的数值代表等待I/O队列长度,reads、writes分别代表每秒处理的读/写次数,readbytes、writebytes顾名思义,代表每秒读/写的数据量,单位同样在Metric Unit区域配置,通常Mb会比较适合观察。如果有挂载多个存储设备,可以在Filesystem Filter区域指定要监控的设备
windows下的资源监控1---jconsole
jdk目录下面有自带的资源监控平台--jconsole.exe
双击jconsole.exe,启动监控平台,可以选择需要监控的服务。可以是本地的tomcat进程,也可以是远程的服务器。这里我选择了监控jmeter进程。
在上方的概览中,我们可以看到堆内存,线程,类,cpu四个监控模块。时间可以自由选择。
在内存选项中,我们可以选择分别监控新生代,老年代,eden,space这些堆内存空间。同时可以手动gc内存。
在线程中,我们可以监控所有已加载的线程,同时一键检测线程死锁。
在类中,我们可以直观的看到各种性能数据。包括jmeter分配的线程池大小。
windows下的资源监控2---jmc工具,可以监控本地和远程机器
jmc的功能类似于jconsole,不过仪表盘式的外观和色彩看起来更加漂亮。
在底部的按钮可以针对堆内存,cpu,线程等进行性能诊断
windows下的资源监控2---jvisualvm工具,可以监控本地和远程机器
jvisualvm的功能更加强大一些,除了常规的数据监控之外,还可以对线程进行dump(只能针对本地,不能对远程服务进行dump)
jdk自带的监控工具是丰富多彩的,我们可以根据自己的需求去选择不同的工具。
内存瓶颈分析
内存资源成为系统性能的瓶颈的征兆 :
-
很高的换页率 (high pageout rate);
-
进程进入不活动状态 ;
-
交换区所有磁盘的活动次数可高 ;
-
可高的全局系统 CPU 利用率 ;
-
内存不够出错 (out of memory errors)
cpu瓶颈分析
CPU 资源成为系统性能的瓶颈的征兆 :
-
很慢的响应时间 (slow response time)
-
CPU 空闲时间为零 (zero percent idle CPU)
-
过高的用户占用 CPU 时间 (high percent user CPU)
-
过高的系统占用 CPU 时间 (high percent system CPU)
-
长时间的有很长的运行进程队列 (large run queue size sustained over time)