当前位置: 首页 > 知识库问答 >
问题:

捷迈技术:使用金米的 HTTP 持久性连接

裴建华
2023-03-14

我需要使用JMeter进行一段时间的会话。

测试计划和脚本详细信息如下:

比方说,100个用户使用他们各自的凭证登录到我的web应用程序。我的web应用程序的会话超时是30分钟。这意味着,如果这100个用户在登录后保持空闲30分钟,应用程序将在接下来的30分钟内保持连接打开,以接收来自那些已登录客户端的任何进一步请求。连接不会被关闭。因此,如果客户端需要进行另一个HTTP事务,它可以使用空闲的keepalive连接,而不是创建一个新的TCP连接。现在,当这100个连接处于活动或空闲状态时,我需要确定新登录的客户机的响应时间。但是我不能使用JMeter生成这个场景。

这是我的脚本详细信息:-

所有线程都在 120 秒内启动,之后,此负载将再保持 120 秒。因此,对于总共240秒,将发送登录请求(实际上在关闭期间也是如此)。在我的测试中,为100个线程生成了大约6500个登录请求,所有这些线程都使用不同的凭据登录。我已使用 CSV 数据配置元素来传递登录数据。我在执行测试时监视了服务器日志,并观察到所有登录请求都被接受并成功。因此,在实时场景中,如果6500个用户使用不同的计算机或PC登录到我的Web应用程序,并且在登录后不执行任何操作,则我的服务器将在接下来的30分钟内保持连接打开状态以进行进一步的HTTP事务。我该如何在 JMeter 中生成此场景。或者在我的脚本中,所有这些会话都保持活动状态吗?

任何建议或指导都将非常有帮助。

共有2个答案

壤驷德宇
2023-03-14

从性能的角度来看,30分钟的超时时间太长了。为了偏爱一小部分用户,您将锁定会话资源的时间远远超过您需要的时间。满足30分钟边缘情况的开销大于为同一边缘情况创建新会话的开销。

我建议您使用您选择的日志分析工具(我更喜欢Splunk

接下来,选择您的工具,用图表显示这些项目按分钟的分布情况。你通常会发现,面向公众的网站的页面到页面分组高度集中在一到三分钟的范围内。在该范围之外,样本下降非常快。长会话(比如您提到的30分钟)会锁定在高负载条件下无法释放的资源,从而导致性能下降。如果你有一个购物车,这实际上会降低整个购物车系统的速度,从而降低转化率。会话是从最后一个请求而不是第一个请求偏移的。

洪开济
2023-03-14
  • 不需要私人服务,jmeter就足够了。如果我没弄错的话,你想做的是峰值测试,你想知道响应时间是如何随着新用户会话的创建而增加的。
    • 测试通过发送100个请求开始,每个请求将创建一个新会话
    • 如果下一个请求不使用相同的cookie,它将为每个请求创建一个新会话
    • 峰值测试将增加负载,直到注入器线程用完或应用程序开始崩溃
      < li >这将告诉您给定负载的预期响应时间,您可以使用它来进行容量规划。 < li >峰值测试如下所示: < li >负载、吞吐量和响应时间
    • 如果会话管理实现对大量cookie是明智的,我将使用所有会话作为活动,即使是空闲的。注入线程。
    • 如果应用程序容器同时处理会话,无论有多少空闲用户,我都会选择系统在给定时刻正在处理请求的用户作为活跃用户。
    • JMeter的插件中已经有了代理和监视器

 类似资料:
  • 将SQL插入/更新表达式嵌入到刷新中 此功能允许将数据库列的值设置为SQL表达式,而不是文字值。它对于原子更新、调用存储过程等特别有用。您所要做的就是为属性分配一个表达式:: class SomeClass(Base): __tablename__ = "some_table" # ... value = Column(Integer) someobject = se

  • 一面(电话面) 1基本情况 2家庭情况 有无女朋友 3想不起来了 二面(视频面) 1自我介绍 2问了几个网络相关知识(osi 动态路由) 3深挖简历社团经历 4问研究生建模大赛团队问题(自己扮演的角色,团队有没有矛盾如何处理的) 三面(视频面 1自我介绍 2 朋友眼中自己是什么样的人? 3如何学习的,学习方法 四面(电话面) 谈薪资 #中兴# 华为 #锐捷网络# 新华三#

  • 问题内容: 我想在我们的其中一台Web服务器上进行一些性能测试,以了解服务器如何处理大量持久连接。不幸的是,我对HTTP和Web测试不是很熟悉。这是到目前为止我已经获得的Python代码: 我的主要问题是: 如何保持这些连接的生命? 我设置了很长的超时时间,但这是一种非常粗糙的方法,我甚至不确定它是否会影响连接。是否只是偶尔偶尔请求一两个字节? (此外,与我代码末尾的丑陋块相比,还有一个更好的过程

  • 一面技术面:自我介绍,问项目,介绍岗位,技术问题倒不是很多,可能和这个岗位也有关系。 二面技术面:有点像hr面,为什么投迈瑞,期望工作地点,对出差的看法,对加班的看法,家里人怎么看,对象是做什么的,有了解过迈瑞是做什么的吗,知道哪些迈瑞产品。

  • 问题内容: 假设我有一个Java程序,该程序使用HTTP 1.1在服务器上发出HTTP请求,并且不关闭连接。我提出一个请求,并读取从绑定到套接字的输入流返回的所有数据。但是,在发出第二个请求时,服务器没有响应(或者流有问题- 它不再提供任何输入)。如果我按顺序发出请求(请求,请求,读取),则可以正常工作,但(请求,读取,请求,读取)则不能。 有人能解释为什么会发生这种情况吗?(代码片段如下)。无论

  • 问题内容: 我正在使用一个简单的PHP库通过HTTP将文档添加到SOLR索引中。 目前涉及3台服务器: 运行索引工作的PHP框 一个数据库框,其中包含要建立索引的数据 solr框。 以每秒80个文档(每秒100万文档)的速度,我注意到PHP和solr盒上的网络接口的中断率异常高(2000 / sec;此外,图形几乎相同- 当中断时率在PHP框上达到峰值,在Solr框上也达到峰值),但在数据库框上却