为什么我ab测试数据库部分,比原生php+mysql慢? 慢了好多 不知道哪里调整 这个是原生的mysql开启1000次最大请求的情况下大概3秒6完成了全部请求 这个是webman的测压数据
webman比原生慢了大概10倍
直接输出字符串无mysql交互,webman比原生快了大概3倍
原生的是mysqli,webman用的thinkorm 执行的是 SELECT * FROM xx limit 10000 环境centos,大佬们看看
windows系统?windows系统下webman是单进程,压测得用Linux系统。还有压测最好内网或者127.0.0.1压测,排除网络瓶颈
环境 centos额,webman我用的是127本地ip测过了,一样的
感觉mysql部分并未开启多线程模式
一共1000个请求,你的原生有150个失败,还有850个非200响应,看起来成功率是0,应该是报错了,很可能没访问到数据库。
现在浏览器都默认keepalive的,压测最好带上-k参数,能够反映相对真实的承载能力。 带数据库的话,webman进程数最好开成cpu的3-4倍,在config/server.php里设置,设置完restart重启
多谢大佬
原生明显报错了,原生请求只返回150个字节,根本没读数据库,失败率100%。 而webman每个请求返回1.2M,成功率100%。
还有如果每个请求返回1.2M,啥语言框架QPS都一样,因为100M网卡每秒也就支持10个这样的请求。
额额 明白了
windows系统?windows系统下webman是单进程,压测得用Linux系统。还有压测最好内网或者127.0.0.1压测,排除网络瓶颈
环境 centos额,webman我用的是127本地ip测过了,一样的
感觉mysql部分并未开启多线程模式
一共1000个请求,你的原生有150个失败,还有850个非200响应,看起来成功率是0,应该是报错了,很可能没访问到数据库。
现在浏览器都默认keepalive的,压测最好带上-k参数,能够反映相对真实的承载能力。
带数据库的话,webman进程数最好开成cpu的3-4倍,在config/server.php里设置,设置完restart重启
多谢大佬
原生明显报错了,原生请求只返回150个字节,根本没读数据库,失败率100%。
而webman每个请求返回1.2M,成功率100%。
还有如果每个请求返回1.2M,啥语言框架QPS都一样,因为100M网卡每秒也就支持10个这样的请求。
额额 明白了