我有一个多站点Drupal安装,大约有20个url指向相同的代码库和一个公共数据库。我每天有大约20,000名访问者访问所有网站,我希望这会增加。
我目前使用2台服务器 - 一台是Linux平台上的Web服务器Apache 2,另一台是数据库服务器 - MYSQL。
我的MYSQL服务器无法处理负载并且无法正常运行 - 有时会发出警告,有时不会返回数据,有时会超时。我已尝试过所有优化技术,但问题似乎有所增加。
如果有人可以建议我解决问题,我将非常感激。将服务器帮助的容量增加一倍还是应该转向使用群集或云?具有负载均衡器的集群Web层是否有用,或者仅使用具有优化的集群数据库是否可行?
我遇到了这个网站http://www.johnandcailin.com/blog/john/scaling-drupal-open-source-infrastructure-high-traffic-drupal-sites。但是我对选择哪种架构感到困惑
答案 0 :(得分:2)
缓存!缓存!缓存!
如果你有一个不那么频繁且相对静态的网站,主要是匿名用户,Boost将大大提高性能。 Boost是一个静态页面缓存,因此缓存上的任何命中都将完全绕过Drupal。
如果您有更多登录用户,则应设置Memcache,这也可以避免使用数据库。
安装APC总是一个好主意,但如果您的瓶颈是数据库,那么它对您没有任何帮助。
此外,您可以使用Devel模块检查Drupal生成的查询,并尝试优化其中的一些内容,例如:禁用低效或行为不当的模块。