Performance 负载和性能测试工具在幕后是如何工作的?

Performance 负载和性能测试工具在幕后是如何工作的?,performance,load,gatling,Performance,Load,Gatling,我最近使用gatling.io对api服务器进行了负载测试。在测试期间,有一些选项可以设置,例如,每秒并发用户数 我不明白的是这些工具是如何产生这种负载的。他们如何创建到我的服务器的200个并发连接并点击它 我正在寻找一个答案,描述它是如何实现的,他们是否使用线程,套接字编程等。 谢谢。Gatling在内部使用,其中每个虚拟用户都表示为一个 Akka是一个异步执行的框架。这意味着我们不会浪费和挂起等待响应的线程,而是使用它来完成其他任务——在其他虚拟用户的情况下。执行时间由管理,执行本身由管理

我最近使用gatling.io对api服务器进行了负载测试。在测试期间,有一些选项可以设置,例如,每秒并发用户数

我不明白的是这些工具是如何产生这种负载的。他们如何创建到我的服务器的200个并发连接并点击它

我正在寻找一个答案,描述它是如何实现的,他们是否使用线程,套接字编程等。 谢谢。

Gatling在内部使用,其中每个虚拟用户都表示为一个

Akka是一个异步执行的框架。这意味着我们不会浪费和挂起等待响应的线程,而是使用它来完成其他任务——在其他虚拟用户的情况下。执行时间由管理,执行本身由管理

考虑到在某些环境中,单个JVM线程堆栈可能会达到2MB甚至更大,为500个用户中的每一个创建一个线程仅为线程消耗大约1GB的内存。看看为什么创建大量线程是个坏主意

总之,使用异步编程来实现如此高的并发虚拟用户吞吐量是至关重要的。

Gatling在内部使用,其中每个虚拟用户都表示为一个

Akka是一个异步执行的框架。这意味着我们不会浪费和挂起等待响应的线程,而是使用它来完成其他任务——在其他虚拟用户的情况下。执行时间由管理,执行本身由管理

考虑到在某些环境中,单个JVM线程堆栈可能会达到2MB甚至更大,为500个用户中的每一个创建一个线程仅为线程消耗大约1GB的内存。看看为什么创建大量线程是个坏主意

总之,必须使用异步编程来实现并发虚拟用户的高吞吐量