【发布时间】:2016-03-09 15:51:42
【问题描述】:
我有一个电子商务网站,其中包含超过一百万种产品。它在 debian 7 上运行,带有 apache2.2 、 php5.4 、 mysql 5.5 和 laravel 4.1。以前运行流畅,最近变慢了。
我认为这是因为对服务器的 mysql 查询量。我使用了各种 mysql 工具,发现每秒查询数非常高(1000-2000)。虽然当即时记录对站点的请求和查询时,它几乎没有那么多。
此外,我最近对代码没有进行太多更改,并且由于它过去运行正常,我不确定查询量是否是问题(不确定在一切正常时它是多少)。
我正在寻找如何调试或找出问题所在的任何想法。页面上的用户数量没有改变。有大约相同数量的请求。我有一些缓存。但是由于我有这么多产品页面,并且大多数用户访问不同的页面,所以缓存在那里几乎没有影响。任何想法如何为这么多产品页面制作更好的缓存?
【问题讨论】:
-
会不会有一些“慢查询”可能是个问题,可以通过重组或索引来优化?
-
你可以在这里找到一些有趣的关于缓存laravel.com/docs/4.2/cache
-
打开“通用日志”几秒钟。你可能发现 Laravel 正在添加一堆相对不必要的查询。
-
你用的是什么缓存?
-
您是否渴望使用 Eloquent 加载查询?如果没有,您可以极大地提高性能。
标签: php mysql performance laravel