关于接口性能的分析

我用PHP写的接口,在单机版的服务器下,单用户调用,也就是说机器的并发用户数
为1的情况下,该接口的响应时间为100ms

但是用压力工具测试,压到并发量为220人的时候,接口响应时间最长长达5s
最短是3s 平均下来也有好几秒,这个数据完全和单次调用差距悬殊,这样的
结果是不是说明接口代码的性能是很好,但是并发量一旦上来的时间,就性能
变的很差,是不是就说明是服务器的性能差,而不是接口程序性能差?
问题到底出在那?

阅读 6.2k
3 个回答

你想想一下一条马路可以同时过十辆车,现在突然同时要过100辆,而且这个车都争抢着要过去,是不是很容易堵车,一堵车大家都慢了。

很对秒杀系统会有类似的业务场景,引入队列服务排队处理请求是一个通用的方法,这种办法就好像火车站进站口弯来弯去的排队通道。

一般情况下,服务器的瓶颈是不会在220人的时候体现的。接口响应时间长,一个是检查你的php配置,是否支持多连接,第二个就得看你的逻辑代码,是否在并发下存在连接争用的情况

一般来说不是程序的问题。检查下服务器的php-fpm配置。
另外。php不适合写接口,同样的配置nodejs比php-fpm并发高很多

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏