2012-09-17 30 views
0

我们在表中有大量数据的在线应用程序,通常每个表中的数据量超过1000万。LAMP站点的奇怪性能测试结果

我正面临的性能命中是报告模块,其中某些图表和表格显示加载非常缓慢。

假设总时间= PHP执行时间+ MySQL查询时间+ http响应时间

为了验证这一点,当我打开的phpmyadmin这又另一个网络应用程序。

如果我单击一个带有3条记录(SELECT * from table_name)的表格=显示的总时间为1 - 1.5秒。我可以看到MySQL查询时0.0001秒

当我点击了10万条记录的表=总时间为7-8秒和MySQL查询时间被再次接近0.0001秒

不应该的页面加载时间是mysql和脚本运行时间的总和?为什么当mysql行数据量较大时,它加载速度很慢,即使mysql说它需要相同的时间。

+1

您是否在限制查询或选择所有记录? – tftd

+0

PHPMyAdmin会自动附加一个'limit'子句,让你查询是否需要它(只是扩展上面的注释)。 – Fluffeh

+0

PHP执行时间+ http响应时间的总和是7-8秒吗?你如何衡量这个? –

回答

0

PHPMyAdmin使用LIMIT,所以这是无关紧要的比较。

您应该使用EXPLAIN来了解为什么您的查询非常慢。 1000万是一个小的数据集(假设平均行大小),不应该接近7秒。

此外,你的计算执行时间的方法是有缺陷的。您应该通过计时单个部分或脚本来进行测量。如果SQL是您的瓶颈,请开始优化您的表或查询。

+0

对于迟到的回复感到抱歉,但现在我已经创建了一个可以运行任意查询的表单。我希望这不应该添加LIMIT。我通过在mysql_query()之前和之后放置microtime()来测量时间。 –

+0

请忽略我的最新评论,但我无法更新此内容 –