首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何用远程DB加速Drupal 7(而不是DNS解析)

如何用远程DB加速Drupal 7(而不是DNS解析)
EN

Server Fault用户
提问于 2012-05-09 13:56:06
回答 5查看 2.2K关注 0票数 2

我们在Ubuntu虚拟机(VMWare)上有Drupal 7,在同一物理服务器上有MySQL 5.1服务器,但在不同的虚拟机上。

Drupal网站目前正在开发中,因此几乎没有流量,然而,尽管ping和shell访问速度非常快,Drupal站点的运行速度非常慢(超过5秒来加载任何页面)。经过这里和其他地方的研究后,我了解到问题在于SQL是通过网络接口访问的,Drupal显然做得很糟糕。

我已经检查了DNS解析,应该没有从Drupal端(db主机由ip提供,在/etc/ host文件中有一个dns条目)或从MySQL端(跳名-解析,drupal客户端被ip地址授予访问)。

Drupal说:

在5993.89毫秒内执行336个查询。突出显示超过5ms的查询。页面执行时间为7015.35 ms。使用的内存为:devel_boot()=5.53MB,devel_shutdown()=93.35MB,PHP。

最重要的是,对于单个页面加载来说,大约2/3的查询速度快,而其他查询则非常慢:

代码语言:javascript
运行
复制
1.765 DrupalDatabaseCache::getMultipleP A E
SELECT cid, data, created, expire, serialized FROM cache_bootstrap WHERE cid IN (:cids_0)
default
575.825 DrupalDatabaseCache::getMultipleP A E
SELECT cid, data, created, expire, serialized FROM cache_bootstrap WHERE cid IN (:cids_0)
default
13.585 DrupalDatabaseCache::getMultipleP A E
SELECT cid, data, created, expire, serialized FROM cache_bootstrap WHERE cid IN (:cids_0)
default
466.9914 DrupalDatabaseCache::getMultipleP A E
SELECT cid, data, created, expire, serialized FROM cache WHERE cid IN (:cids_0)
default
1.841 drupal_lookup_pathP A E
SELECT source FROM url_alias WHERE alias = :alias AND language IN (:language, :language_none) ORDER BY language ASC, pid DESC
default

通过启用Drupal缓存,可以对anon访问进行补救。然而,整个管理界面仍然很慢。

将DB服务器分开是当前公司的策略。还有其他办法来加快Drupal的速度吗?

默认的数据库配置是驱动程序'mysql',也许我应该将其更改为'mysqli‘或'pdo_mysql'?但是,如果我将其更改为mysqli,database.inc会抱怨相关的驱动程序不存在--任何专门为drupal安装的驱动程序,因为mysqli和pdo都是在PHP中启用的。

EN

回答 5

Server Fault用户

回答已采纳

发布于 2017-11-17 12:22:22

由于这个问题仍然很吸引人的答案,我会自己回答,因为我当时已经解决了。

基本上,当我将Mysql转移到与Drupal相同的vm时,一切都变得非常迅速。因此,问题在于Drupal为每个页面load =糟糕的体系结构发出的大量sql查询。

票数 0
EN

Server Fault用户

发布于 2012-05-09 19:59:43

我认为有两个方面你可以优化你的网站:

  1. 通过调优MySQL数据库来减少单个查询。我将从mysqltuner.pl开始,它将向您展示安装过程中的明显问题,并提供调优提示。
  2. 减少查询次数。我知道有一个大型Drupal安装是在web服务器主机上使用memcache完成的。

你查过管理现场绩效在drupal.org吗?

票数 0
EN

Server Fault用户

发布于 2012-12-23 00:51:22

我也经历过同样的问题,并使用谷歌Chrome PageSpeed和YSlow来找出我的问题。

基本上,我做了以下这些步骤:

尝试安装PHP,将APC大小设置为256 of (有很多指南)。然后确保KeepAlive为Apache打开,并且也激活Apache压缩(通过Apache mod_deflate)。

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

https://serverfault.com/questions/387457

复制
相关文章

相似问题

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