2013-02-27 75 views
1

我有一个简单的PHP页面,要求从MySQL数据库中获取地址列表。数据库表有1257个条目。我还包括一个动态加载的侧面菜单浏览到其他网站。 总之我有5个MySQL请求优化php的加载时间页面

  1. 的地址
  2. 分页
  3. 检查whee用户已经获准浏览
  4. 得到所有组的侧面菜单
  5. 获取侧的所有子项菜单

该网站大约需要5秒加载。

为了改善网站加载时间并发现Google开发者工具的页面加速度,它告诉我所有的改进都喜欢启用deflate,更改横幅尺寸等,但它仍然接近相同的加载时间。我想知道这是否常见,或者是否有任何可以改善加载时间的方法。

编辑:我也索引列和启用MySQL缓存。我也用的子项表的外键这是从菜单组表

EDIT2:我发现这个问题是,我使用本地主机连接到我的分贝,但因为使用它试图Windows 7的IM解决方案通过ipv6连接现在我将所有本地主机更改为127.0.0.1,它只需要大约126ms来加载我的页面

+0

我认为1257非常小的查询将只需要几毫秒。可能是您正在加载图像并引用某些其他网站的资源可能需要时间。或者您可能使用的服务器很差 – 2013-02-27 10:54:44

+0

我在本地计算机上使用了xampp它有8GB RAM,SSD和3GHz Quadcore CPU。 所以,因为服务器是基本本地主机我应该有加载的东西问题查询需要约0.02秒每个如果我在phpmyadmin中执行它们,那正是我为什么如此困惑。 – Chaos 2013-02-27 10:57:42

+1

我建议你在脚本中的各个点上记录时间(使用microtime(true)来获得时间),然后将它们放在脚本的末尾以尝试查找代码的哪一部分花费时间。你可以在这些领域进行更多的时间检查,以便更好地确定它。还可以在phpmyadmin中单独尝试你的SQL查询,或者用EXPLAIN等同检查索引是否真的被使用。 – Kickstart 2013-02-28 09:31:17

回答

0

您是否已完成索引使用where条件的列。如果不是pl索引列并检查它

+0

sry完全forgott提及,是colums索引 – Chaos 2013-02-27 10:34:27

+0

1)如果页面有更多的图像使小精灵2)添加页面的所有js文件的底部3)检查apache keepalive是ON – kapil 2013-02-27 10:38:38

+0

只有1张图像(横幅),保持活动状态,js文件位于底部 – Chaos 2013-02-27 10:46:55

1

首先,了解浏览器的控制台需要长时间载入的页面。如果延迟的原因在服务器端,例如该html文件本身正在生成很长一段时间,然后检查以下内容:

尝试记录缓慢的mysql查询,并确保您没有。 http://dev.mysql.com/doc/refman/5.0/en/slow-query-log.html

如果你真的有一些昂贵的计算正在进行(这可能不是你的情况),试着缓存它。

不要忘记PHP代码加速器的优点,如APC和mysql优化(查询缓存等)。

...许多其他方式来加快速度,但得到应用程序本身的配置文件,看看发生了什么。