PHP 执行 sql 语句抢占很多 cpu,但是 mysql 数据库不在当前服务器

2018-08-24 09:41:43 +08:00
 liujia965057396

如上, 200 并发。php 代码和 mysql 不是同一台服务器 我用的 tp5 框架,只是写了三条查询 sql 语句,cpu 狂飙到 70%,但是如果把这些 sql 查询语句注释掉,只执行一个 echo,cpu 明显下降。 请问这是因为什么?怎么才能改善?

2450 次点击
所在节点    PHP
8 条回复
MeteorCat
2018-08-24 09:48:20 +08:00
???你把 sql 查询注销掉不久不执行 mysql 查询了吗?
zarte
2018-08-24 10:04:58 +08:00
正常吧.200 并发查询回来的数据有个循环存数组的操作,可以加 tp 的数据缓存试下
realpg
2018-08-24 10:26:35 +08:00
说明你需要一个架构师 /运维工程师 /DBA
zn
2018-08-24 10:27:34 +08:00
没代码你说个 J.......

排查步骤:
不用框架 ORM,手动写代码查询同一个 sql 语句,看看是 ORM 问题还是底层的数据库问题。
xoxo419
2018-08-24 10:36:50 +08:00
用什么测试并发?
bestkayle
2018-08-24 10:39:11 +08:00
单机 200 并发也不少了,你也没说配置
leven87
2018-08-24 10:44:13 +08:00
建议搞个缓存
DavidNineRoc
2018-08-24 10:49:11 +08:00
不在当前服务器,听你的描述更多是连接数据库的方面上了。
尝试用原生 PDO connect 数据一下。不要执行 CURD 操作。如果这样还慢,那就是连接的问题。尝试换到内网连接

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/482746

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX