数据库
首页 > 数据库> > 服务器“升级”后,MySQL / PHP站点极其缓慢-PHP版本有问题吗?

服务器“升级”后,MySQL / PHP站点极其缓慢-PHP版本有问题吗?

作者:互联网

我们刚刚通过托管公司从运行3年的双核8GB Plesk计算机(运行PHP 5.1和MySQL 5.1)升级了专用的Web服务器.

新服务器是运行PHP 5.4和MySQL 5.5的6核8GB cPanel / WHM服务器

很抱歉,因为我不是一个聪明的程序员,但是由于我们是一家小公司,所以我是整个IT部门!

我们的电子商务网站(基于电子商务模板的代码)现在运行非常缓慢,托管公司只能说问题出在我们的PHP / MySQL代码上.他们告诉我,几乎每个查询都需要2秒钟或更长时间才能运行.

数据库有大约20,000个产品和60个表.大小为400Mb.

我很欣赏我们的代码可能过时了,但是加载一个过去不到2秒即可加载的页面是否真的需要20秒才能完成,仅仅是因为PHP / MySQL已经“改进”了吗?

这是一个通过MySQLAdmin使用EXPLAIN的示例:

在产品上显示选择计数(DISTINCT products.pId)AS条从产品左联接multisections.pId = multisections.pId WHERE pDisplay<>> 0 AND(
products.pSection IN(274)或multisections.pSection IN(274))

1 SIMPLE产品ALL NULL NULL NULL NULL NULL 20728在哪里使用

1个简单的多节参考PRIMARY PRIMARY 130 homesupply.products.pID 31使用索引

我在这里非常担心MyISAM与InnoDB,整理问题等等.

目前,我唯一的选择是跳回到我们的旧服务器,直到我们可以重新编码我们的网站,并且被发现这是导致问题的简单设置.

谢谢

解决方法:

在新的PHP中这不会成为问题,这是极不可能的.问题很可能出在MYSQL中.我建议执行以下操作:

1)重建所有索引.不当升级到较新的MySQL版本可能会导致
文件上有一些旧索引,您可以安全地重建所有索引,只需修复所有表即可:

mysqlcheck -p -A -r

2)检查哪些查询速度慢.执行以下MySQL语句以查看:

SHOW FULL PROCESSLIST;

您可能需要对队列中很长的所有查询运行EXPLAIN,请检查它是否适当地使用了索引.有时,较新的mysql版本可能不会像以前的版本那样对相同的查询使用相同的索引.您可能需要在MySQL无法使用适当索引的地方向查询中添加FORCE INDEX.

3)检查日志文件. MySQL有一个日志文件,其中报告了可能的问题.它的位置取决于您的设置,在我的服务器上,它位于mysql数据目录中.

4)禁用MySQL中的DNS查找,默认情况下,您的新版本可能会启用它.您可能需要在mysql配置文件中配置skip-name-resolve.实际上,比较旧配置文件和新配置文件可能会提供一些不同的提示.

标签:server,database-performance,cpanel,mysql,php
来源: https://codeday.me/bug/20191120/2046084.html