我有一个以不同方式处理客户端请求的服务器应用程序。
我想知道可以以最小的延迟为多少用户提供服务,所以我做了一个模拟用户请求的小型压力测试应用程序;同时另一个应用程序监视内存/CPU 利用率。
压力测试工具每秒创建线程,每个线程代表一个用户。如果压力测试由于资源不足而无法创建新线程,则会启动压力测试工具的新实例。
问题是,每个线程都会将每个请求的延迟和当前运行的线程数写入文件,因此这会导致 I/O 问题,因为几分钟后您有很多线程需要写入磁盘,这种行为也会在真实场景中不存在,因为客户端只请求数据。
当我想测量每个用户的最大延迟时,如何克服这个问题?
PS:
一些答案说要在不同的机器上运行以考虑网络延迟,这很好,这将是我目前的最终压力测试,我正在同一台服务器上进行此测试,以找出以最小延迟支持多少用户。