Jmeter Linux压测网站

jmeter压测网站

线程组

  • 添加线程组:右键点击测试计划,选择“Add” -> “Threads (Users)” -> “Thread Group”。 1721729926115.png
  • 线程数(Number of Threads (users)):设置并发用户数。
  • Ramp-Up Period:设置JMeter需要多少秒来启动全部的线程。
  • 循环次数(Loop Count):设置每个线程执行的次数。

HTTP请求

1721730013749.png

  • 添加 HTTP 请求默认值:右键点击线程组,选择“Add” -> “Config Element” -> “HTTP Request Defaults”。
  • 服务器名称或IP(Server Name or IP):填写你的网站域名或IP地址。
  • 端口号(Port Number):如果是HTTP默认的80端口,可以不填。

配置US代理

D:\Scoop\apps\jmeter\current\bin 在jmeter安装目录下的\bin目录中找到system.properties加入以下参数。
我这里V2ray本地是127.0.0.1 10808。替换成你们的ip和端口。 socksProxyHost=127.0.0.1 socksProxyPort=10808

第一次测试指标。

Label # Samples Average Median 90% Line 95% Line 99% Line Min Max Error % Throughput Received KB/sec Sent KB/sec
HTTP Request 1000 9927 8326 14751 17077 27713 4173 83934 0.151 11.86746416 206.9675087 1.170880636
TOTAL 1000 9927 8326 14751 17077 27713 4173 83934 0.151 11.86746416 206.9675087 1.170880636

开了代理,国内到代理,代理到请求服务器,这数据还是有点搞笑。

这里试下直接在代理服务器curl指令看看平均响应时间是多少。

1
2
3
4
5
6
7
8
root@localhost:~# curl -o /dev/null -s -w "Time Namelookup: %{time_namelookup}\nTime Connect: %{time_connect}\nTime Appconnect: %{time_appconnect}\nTime Pretransfer: %{time_pretransfer}\nTime Redirect: %{time_redirect}\nTime Starttransfer: %{time_starttransfer}\nTime Total: %{time_total}\n" https://vps.mowang.org`
Time Namelookup: 0.004244
Time Connect: 0.069002
Time Appconnect: 0.144357
Time Pretransfer: 0.144490
Time Redirect: 0.000000
Time Starttransfer: 0.273957
Time Total: 0.280589

0.28ms,那应该国内到代理这条链路时间太长了,测试结果差距有点大。。那就在代理服务器上测试吧。

linux部署jmeter

  • jmeter至少需要jdk1.8
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
wget https://download.java.net/openjdk/jdk11/ri/openjdk-11+28_linux-x64_bin.tar.gz

tar -xzvf openjdk-11+28_linux-x64_bin.tar.gz -C /usr/local/

wget https://dlcdn.apache.org/jmeter/binaries/apache-jmeter-5.6.3.tgz

# 这里如果执行命令404,那就是页面没有这个版本了,去看下当前版本是多少,替换一下就行。
--2024-07-23 20:54:11--  https://dlcdn.apache.org/jmeter/binaries/apache-jmeter-5.6.2.tgz
Resolving dlcdn.apache.org (dlcdn.apache.org)... 151.101.2.132
Connecting to dlcdn.apache.org (dlcdn.apache.org)|151.101.2.132|:443... connected.
HTTP request sent, awaiting response... 404 Not Found
2024-07-23 20:54:12 ERROR 404: Not Found.


tar -xvf apache-jmeter-5.6.3.tgz -C /usr/local/

# 执行/usr/local/apache-jmeter-5.6.3/bin/jmeter -v有如下输出就代表安装好了。

root@localhost:/opt# /usr/local/apache-jmeter-5.6.3/bin/jmeter -v
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
Jul 23, 2024 6:02:51 AM java.util.prefs.FileSystemPreferences$1 run
INFO: Created user preferences directory.
    _    ____   _    ____ _   _ _____       _ __  __ _____ _____ _____ ____
   / \  |  _ \ / \  / ___| | | | ____|     | |  \/  | ____|_   _| ____|  _ \
  / _ \ | |_) / _ \| |   | |_| |  _|    _  | | |\/| |  _|   | | |  _| | |_) |
 / ___ \|  __/ ___ \ |___|  _  | |___  | |_| | |  | | |___  | | | |___|  _ <
/_/   \_\_| /_/   \_\____|_| |_|_____|  \___/|_|  |_|_____| |_| |_____|_| \_\ 5.6.3

Copyright (c) 1999-2024 The Apache Software Foundation

启动服务器/usr/local/apache-jmeter-5.6.3/bin/jmeter-server

1
2
3
4
5
6
7
root@localhost:/opt# /usr/local/apache-jmeter-5.6.3/bin/jmeter-server
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
Server failed to start: java.rmi.RemoteException: Cannot start. localhost.localdomain is a loopback address.
An error occurred: Cannot start. localhost.localdomain is a loopback address.

如果报错这个,在/usr/local/apache-jmeter-5.6.3/bin目录下找到jmeter-server加入RMI_HOST_DEF=-Djava.rmi.server.hostname=127.0.0.1/usr/local/apache-jmeter-5.6.3/bin/jmeter.properties中加入server.rmi.localport=1099 and server.rmi.ssl.disable=true

在执行一次/usr/local/apache-jmeter-5.6.3/bin/jmeter-server,如果显示

1
2
3
4
5
6
7
8
root@localhost:/opt# /usr/local/apache-jmeter-5.6.3/bin/jmeter-server
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
Using local port: 1099
Created remote object: UnicastServerRef2 [liveRef: [endpoint:[127.0.0.1:1099](local),objID:[-caa38c7:190dfca3799:-7fff, 587592835021192817]]]
^C

启动成功,并且成功监听了,后台启动。nohup /usr/local/apache-jmeter-5.6.3/bin/jmeter-server

开测

我将windows的jmx任务直接拿到linux去测了。

  • ThreadGroup.num_threads=100,ThreadGroup.ramp_time=1,LoopController.loops=10
  • 100用户,1000并发 jmeter -n -t /opt/jmeter/test-plan/vps.jmx -l /opt/jmeter/result/vps3.jtl -JjmeterTestCsvHome=./ -e -o /opt/jmeter/result/report3
1
2
3
4
5
6
7
8
9
root@localhost:/opt/jmeter# jmeter -n -t /opt/jmeter/test-plan/vps.jmx -l /opt/jmeter/result/vps3.jtl -R 127.0.0.1:1099  -JjmeterTestCsvHome=./ -e -o /opt/jmeter/result/report3
Creating summariser <summary>
Created the tree successfully using /opt/jmeter/test-plan/vps.jmx
Starting standalone test @ 2024 Aug 8 08:29:12 PDT (1723130952446)
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
Warning: Nashorn engine is planned to be removed from a future JDK release
summary =   1000 in 00:00:08 =  118.5/s Avg:   699 Min:    82 Max:  2942 Err:     0 (0.00%)
Tidying up ...    @ 2024 Aug 8 08:29:21 PDT (1723130961734)
... end of run

summary = 1000 in 00:00:08 = 118.5/s Avg: 699 Min: 82 Max: 2942 Err: 0 (0.00%)
QPS=133/s
1723132604283.png

  • 将ThreadGroup.num_threads=1000,ThreadGroup.ramp_time=1,LoopController.loops=10
  • 1000用户,10000并发
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
root@localhost:/opt/jmeter# jmeter -n -t /opt/jmeter/test-plan/vps.jmx -l /opt/jmeter/result/vps4.jtl -R 127.0.0.1:1099  -JjmeterTestCsvHome=./ -e -o /opt/jmeter/result/report4
Creating summariser <summary>
Created the tree successfully using /opt/jmeter/test-plan/vps.jmx
Starting standalone test @ 2024 Aug 8 08:51:20 PDT (1723132280670)
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
Warning: Nashorn engine is planned to be removed from a future JDK release
summary +   4617 in 00:00:38 =  120.4/s Avg:  5424 Min:   127 Max: 19591 Err:     0 (0.00%) Active: 1000 Started: 1000 Finished: 0
summary +   5383 in 00:00:29 =  187.9/s Avg:  4478 Min:    84 Max: 24393 Err:     0 (0.00%) Active: 0 Started: 1000 Finished: 1000
summary =  10000 in 00:01:07 =  149.2/s Avg:  4915 Min:    84 Max: 24393 Err:     0 (0.00%)
Tidying up ...    @ 2024 Aug 8 08:52:28 PDT (1723132348665)
... end of run

QPS=153/s 1723132646892.png

  • 将ThreadGroup.num_threads=2000,ThreadGroup.ramp_time=1,LoopController.loops=10 开始测试。但是当前客户端内存已经拉爆了。 1723133011226.png
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
root@localhost:/opt/jmeter# jmeter -n -t /opt/jmeter/test-plan/vps.jmx -l /opt/jmeter/result/vps5.jtl -R 127.0.0.1:1099  -JjmeterTestCsvHome=./ -e -o /opt/jmeter/result/report5
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
WARN StatusConsoleListener The use of package scanning to locate plugins is deprecated and will be removed in a future release
Creating summariser <summary>
Created the tree successfully using /opt/jmeter/test-plan/vps.jmx
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
Warning: Nashorn engine is planned to be removed from a future JDK release
summary +   3413 in 00:00:36 =   95.9/s Avg:  5805 Min:    90 Max: 23766 Err:     0 (0.00%) Active: 1270 Started: 1271 Finished: 1
summary +   5311 in 00:00:31 =  170.5/s Avg:  8430 Min:   137 Max: 32405 Err:     2 (0.04%) Active: 1918 Started: 2000 Finished: 82
summary =   8724 in 00:01:07 =  129.7/s Avg:  7403 Min:    90 Max: 32405 Err:     2 (0.02%)
summary +   5601 in 00:00:28 =  197.8/s Avg:  6620 Min:    97 Max: 34699 Err:     6 (0.11%) Active: 1461 Started: 2000 Finished: 539
summary =  14325 in 00:01:36 =  149.7/s Avg:  7097 Min:    90 Max: 34699 Err:     8 (0.06%)
summary +   5675 in 00:00:28 =  201.2/s Avg:  6175 Min:    86 Max: 30391 Err:     1 (0.02%) Active: 0 Started: 2000 Finished: 2000
summary =  20000 in 00:02:04 =  161.4/s Avg:  6835 Min:    86 Max: 34699 Err:     9 (0.04%)
Tidying up ...    @ 2024 Aug 8 09:03:58 PDT (1723133038298)

1723133310777.png QPS=163/s

💬评论
0%