zoukankan      html  css  js  c++  java
  • jmeter并发测试

    用jmeter测试高并发,老大要求是在0秒内1000个用户同时登录

    想到了2种方法

    1.在线程组里直接设置

    2.设置集合点

    简单来理解一下,虽然我们的“性能测试”理解为“多用户并发测试”,但真正的并发是不存在的,为了更真实的实现并发这感念,我们可以在需要压力的地方设置集合点,每到输入用户名和密码登录时,所有的虚拟用户都相互之间等一等,然后,一起访问。

    注意:

    1.JMeter里面的集合点通过添加定时器来完成。

    2.Synchronizing timer仅作用于同一个JVM中的线程。

    集合点的用法:

    Number of Simulated Users to Group by:集合多少人后再执行请求(也就是执行的线程数)

    注意:等同于设置为线程租中的线程数,一定要确保设置的值不大于它所在线程组包含的用户数。

    Timeout in milliseconds:指定人数 多少秒没集合到算超时(设置延迟时间以毫秒为单位)

    注意:如果设置Timeout in milliseconds为0,表示无超时时间,会一直等下去。
    线程数量无法达到"Number of Simultaneous Users to Group by"中设置的值,那么Test将无限等待,除非手动终止。

    如果希望定时器仅应用于其中一个sampler,则把该定时器作为子节点加入,如下图

    关于集合点的概念大神写过(https://blog.csdn.net/zjq001x/article/details/53107159

    关于这两点的区别以及好坏,研究了一下午总结了以下几点

    并发:其实是一个理想状态下的概念而已,一般是指在一段时间内到达的访问量

    集合点:是将到达集合点函数的线程Hold住,等到符合集合点数量时再释放,但是,你的CPU是有限的,所以不可能真正做到同时释放,另外线程间切换也需要时间

    总的来说:使用集合点,能大致达到真实并发情况,使用线程组也可以将等待时间设置0,只不过对测试机器性能消耗较大。(个人理解,仅供参考)

     注意:线程等待时间为0的条件下,随机性更大一些,不像设置集合点那样规律明显

    每天进步一点点,一点点

  • 相关阅读:
    web前端技术社区分享
    programming-challenges Shoemaker's Problem (110405) 题解
    caffe 训练測试自己的数据集
    BootStrap有用代码片段(持续总结)
    H5学习_番外篇_PHP数据库操作
    WPF-MVVM-Demo
    android Toast大全(五种情形)建立属于你自己的Toast
    Java
    记一次死锁问题的排查和解决
    一步一步跟我学习lucene(19)---lucene增量更新和NRT(near-real-time)Query近实时查询
  • 原文地址:https://www.cnblogs.com/yang2017812/p/9486793.html
Copyright © 2011-2022 走看看