webman压测一个接口为啥那么慢?

超龄码农

问题描述

服务器2核4g 宝塔部署异步项目
用localhost不考虑网络问题
ab -n 10000 -c 5000 -k localhost:8787/hi
截图
这里写问题具体描述
截图

556 3 0
3个回答

six

你自己的代码问你自己啊。
重新create-project创建一个新项目压测对比,看下自己加了什么,对比就出来了。

  • 超龄码农 20天前

    就是新的呀 简单的一个路由访问

  • six 20天前

    我本地wsl2开一个进程都能跑30W QPS
    你的这个这么慢估计哪里有IO了,例如写磁盘了或者输出终端什么东西了

  • six 20天前

    压错端口了吧,8787,你没带端口压到80了

  • six 20天前

    第一,你压测到nginx上去了,属于压测nginx + webman性能下降正常,尤其是nginx配置不当,下降非常多。
    第二,如果你之前压测有5w,后面变1w了,看下是不是装了webman/log,它写磁盘,性能下降也正常。

  • 超龄码农 20天前

    不是 我是按照你说的测试 我下了一个新框架 直接访问 qps去到5W ab -n 10000 -c 500 -k http://127.0.0.1/
    然后访问自己业务框架还是3000多 这个业务框架也是刚迁移过来的 也没什么东西 就下了一些插件 getenv webman/log web/cros 现在就是说在业务框架写个空方法 既然跑不出刚下的wenbman框架的效果

  • six 20天前

    不要固执,听我的
    第一,压测8787端口,排除nginx影响
    第二,把 webman/log 删除,它每个请求写日志到磁盘,肯定影响性能。 composer remove webman/log 执行后注意要restart重启才生效,reload不生效。

  • 超龄码农 20天前

    大佬 人如其名啊 6 是log的影响。但是这个log能不能关闭的。毕竟有时候需要用他。还有问下大佬什么情况才要重启 啥情况才reload。我发现我在线上提交代码 每次用钩子提交不需要重启代码都能生效,并且我直接去改代码都能生效。他不是常驻内存的吗 按道理应该每次文件更新都要重启吧

  • qqxxr 17天前

    你开启了热更新,就会自动reload

  • qqxxr 17天前

    你所谓的log影响,你要考虑实际需求中会影响到你性能不,这是压测。你实际网站能跑到3000qps吗。如果的确能跑很高的qps,直接把log手动改丢消息队列中,在用专门的日志管理系统来消费

nitron

有没有优化内核,事件驱动用的哪种,有没有经过nginx,开没开http keep-alive

vs7717

我都懒得测试,再怎么低也比fpm 高的多。

  • 暂无评论
🔝