是否可以在JMeter代理上记录来自具有3G的Android设备的http / https请求?
我们有一个客户端 - 服务器应用程序。服务器是驻留在远程PC上的Web应用程序。客户端是一个在Android设备上运行并与服务器交互的Android应用程序。
当Android用户正在旅行时,客户端应用程序将继续使用谷歌地图/ GPS向服务器发送当前位置。服务器使用它来连续跟踪客户端。
我需要为此方案执行负载测试。这就是服务器在必须跟踪1000个Android客户端应用程序用户的长距离(最多20 - 30千米)时的性能
我能够使用JMeter代理uisng WiFi连接记录此负载测试场景。但不是3G连接。使用WIFI,我们可以记录最多100米的跟踪。因此,对于超过100米或更长的距离,我们需要使用3G。
Android设备中的JMeter代理设置适用于WiFi连接但不适用于3G数据连接。
我在3G的APN设置中更改了代理设置。但是,它没有用。我已经在google中搜索过,并在下面找到了有关在APN设置中更改代理设置的链接,但它们无效。
http://www.techverse.net/how-to-setup-proxy-server-3g-4g-data-connection-android-phone/
https://sebastian.expert/changing-proxy-settings-for-3g-mobile-data-in-android-without-root/
请帮忙。顺便说一下,使用的3G连接是Airtel和IDEA。
答案 0 :(得分:0)
出于兴趣,您为什么需要模拟来自不同位置的客户?在负载测试中,大多数情况下都忽略了功能检查以支持性能。不过这里有可能的选择:
我怀疑运行JMeter的机器是否可通过互联网使用,我的期望是你坐在NAT后面,因此移动设备无法解析你在Android APN设置中设置的内容。联系您的IT团队,也许他们可以帮助您建立VPN连接。
如果您正在寻找一种模拟网络带宽比WiFi慢的方法,可以将以下行添加到 user.properties 文件中(该文件位于JMeter安装的/ bin文件夹中)< / p>
httpclient.socket.http.cps=1843200
- 适用于3G httpclient.socket.http.cps=19200000
- for 4G 有关更多信息和选项,请参阅Controlling Bandwidth in JMeter to simulate different networks和Apache JMeter Properties Customization Guide。
如果您的目标是模拟来自不同位置的用户,则从不同位置录制测试并不是一个非常智能的解决方案。我宁愿选择以下内容:
答案 1 :(得分:0)
Android设备中的JMeter代理设置适用于WiFi连接,但不适用于3G数据连接。
我不明白为什么你需要从远程客户端录制,就像我在上面的评论中所说的那样。除非您专门为本地用户和远程用户提供不同的内容,否则您将看到相同的JMeter脚本,无论您是本地录制还是通过3G录制。您可能会混淆来自不同网络位置的录制,并在不同的网络位置运行测试。
但是,如果您仍然需要通过3G访问JMeter代理,出于某种原因:
您的JMeter代理无法通过3G访问,因为您的JMeter代理IP可能是本地IP而非公共IP。如果您在NATed网络中执行此操作,则需要在面向外部的网络设备上设置端口转发,以便能够访问运行JMeter代理的服务器。