创建一个Web Api项目,使用Jmeter配置1000线程进行压测,性能不佳。请教下,各位大佬,是否还需要进行哪些配置
主机配置:
注册表配置:
聚合报告:
可能是该异步的地方没有异步
我是参照这篇博客做的压测:https://www.cnblogs.com/fuhua/p/16696237.html
测试接口类似这样:
@胖嘟嘟的梆子: 等会提供线程池预热代码
@胖嘟嘟的梆子: 预热代码来了
private void WarmupThreadPool()
{
if (ThreadPool.SetMinThreads(50, 20))
{
Parallel.For(0, 50, a => Thread.Sleep(1000));
}
}
在 Program 中预热
@dudu: 感谢
threadpool 的min/max size 改了没有.
如果用了 concurrencylimiter, ratelimiting 组件, 对应的参数是否合适.
threadpool 的min/max 这个改过了,会稍微好点,没有限流
@胖嘟嘟的梆子:
jmeter和被压的api在一台机器上? 如果是建议分开. 另外 jmeter 的thread user 可以逐步增加, 而不是上来就1000个. 以12核的cpu来说 可以让jmeter thread从10个增加到20个. 这样子观察表现.
如果被压测的api代码和你图贴出来的一样. 那就大概率是纯环境问题.
如果要大家能帮到你, 就尽可能提供完整的信息,
@czd890: 非常感谢