首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MySQL/PHP站点在服务器‘升级’后速度极慢- PHP版本问题?

MySQL/PHP站点在服务器‘升级’后速度极慢- PHP版本问题?
EN

Stack Overflow用户
提问于 2015-02-17 19:27:56
回答 2查看 3.6K关注 0票数 3

我们刚刚通过我们的托管公司升级了我们的专用web服务器,从一台使用了3年的双核8 8GB机器,运行PHP5.1和MySQL 5.1。

新服务器是6核、8 8GB /WHM服务器,运行PHP5.4和MySQL 5.5

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

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

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

我很欣赏我们的代码可能有点过时,但是仅仅因为PHP/MySQL的“改进”,就真的需要20秒来加载一个过去不到2秒就能加载的页面吗?

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

将SELECT COUNT( DISTINCT products.pId )解释为bar FROM products LEFT JOIN multisections ON products.pId = multisections.pId WHERE pDisplay <>0 AND ( products.pSection IN ( 274 ) OR multisections.pSection IN ( 274 ))

1个简单产品全部为空20728使用where

1个简单的多节ref PRIMARY 130 homesupply.products.pID 31使用where;使用索引

我在这里已经超出了我的能力范围,我担心的是MyISAM和InnoDB,排序问题等等。

我目前唯一的选择就是跳回我们的旧服务器,直到我们可以重新编码我们的网站,如果发现这是一个简单的设置导致了这个问题,我会很沮丧。

谢谢

EN

回答 2

Stack Overflow用户

发布于 2015-02-17 20:06:09

在新的PHP中这不会是一个问题,这是非常不可能的。问题很可能出在MYSQL中。我建议做以下几件事:

1)重建所有索引。不正确地升级到较新的MySQL版本可能会在文件中留下一些旧索引,您可以安全地重建所有索引,只需修复所有表:

代码语言:javascript
复制
mysqlcheck -p -A -r

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

代码语言:javascript
复制
SHOW FULL PROCESSLIST;

您可能需要对队列中非常长的所有查询运行EXPLAIN,检查它是否正确地使用了适当的索引。有时,较新的mysql版本可能不会像以前的版本那样对相同的查询使用相同的索引。当mysql无法使用正确的索引时,您可能需要在查询中添加强制索引。

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

4)在MySQL中禁用DNS查找,您的新版本可能会默认启用。您可能需要在mysql配置文件中配置跳过名称解析。实际上,比较新旧配置文件可以提供一些不同之处的提示。

票数 2
EN

Stack Overflow用户

发布于 2015-09-02 14:03:50

这周我遇到了这个问题。

那是IPv6

尝试完全禁用IPv6。这很可能是一些本地服务/插件正在尝试IPv6连接(google api等),这些连接在回落到v4之前必须超时。

我可以访问IPv6地址空间,所以我启用了它并配置了主机以正确使用它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28560884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档