0

我正在考虑优化我一直在添加和添加的一个相当大的网站。数据库已经变得相当大(可能有 100,000 个帖子),并且它已经开始放缓并给我“Mysql has gone away”错误。我一直在阅读有关数据库优化的文章,并且已经准备好有人说您应该只希望在一个页面上使用 1-15 个查询。

人们是否认为应该在任何页面上只使用少数查询的建议?

我是否正确地认为每次我使用诸如 get_permalink() 之类的 Wordpress 函数时,我都在创建一个新的查询和新的数据库连接?

我有一些循环,一次循环遍历 100 多个用户,并在这些循环中使用诸如 get_user_meta() 之类的函数——这是否意味着我实际上是在进行 100 个数据库查询,或者它们是否以某种方式缓存在 Wordpress 中?

4

1 回答 1

1

对于这样的问题,要做的事情是将缓存从 Wordpress 手中夺走,并使服务器正常工作。

像 Wordpress 和 Drupal 这样的软件确实有自己的缓存系统,您应该启用它们,但即使使用它们,软件加载和服务页面仍然存在一定的开销。

所以我建议你研究一个服务器缓存引擎,比如Varnish

这将大大减少大多数像您这样的网站的服务器负载;如果您一遍又一遍地对同一页面发出大量请求,Varnish 将接管缓存,而 Wordpess 甚至不必知道该页面正在被请求。不再为每个请求加载 PHP 和 Wordpress 核心,不再为每个请求加载数据库会话。

如果您的后端 CMS 软件开始运行缓慢,这是加速它的最有效方法。

于 2013-09-04T15:12:02.903 回答