在 Openshift 上扩展 Drupal 7

Scaling Drupal 7 on Openshift

我正在建立一个 drupal 站点,并希望使其在 openshift 上可扩展(青铜计划,Small.highcpu)。这方面的两个问题:

a) 后台任务?

如果有人能更详细地解释第 3 点,那就太好了:

来自 https://github.com/openshift/drupal-quickstart/blob/master/README.md:

Because none of your application code is checked into Git and lives entirely in your data directory, if this application is set to scalable the new gears will have empty data directories and won't serve requests properly. If you'd like to make the app scalable, you'll need to:

  1. Check the contents of php/* into your Git repository (in the php/* dir)
  2. Only install new modules via Drush from the head gear, and then commit those changes to the Git repo
  3. Use a background task to copy file contents from gear to gear

All of the scripts used to deploy and configure Drupal are located in the build and deploy hooks.

b) 附加文件系统:

张贴者在这里说需要更持久的文件系统(例如 S3)来扩展:https://groups.drupal.org/node/297403。对于高峰时间每秒约 30-50 页的网站来说,这真的有必要吗?添加 S3 有什么好处?

在可扩展的 OpenShift 应用程序中,您希望所有齿轮的行为相同。在 Drupal 的情况下,每个 gear 都需要有核心 Drupal 文件、模块和 gear 提供的任何附加数据(图像等)。

本指南建议您将核心 PHP 文件和额外模块(使用 Drush 后)检查到 git 中,以便每个装备都有它们。

此处后台任务和 S3 是解决同一问题的两种方法——确保每个齿轮提供相同的数据。

一个。后台任务

实现"a background task to copy file contents from gear to gear"的一种方法是在头部齿轮上使用OpenShift cron,其中scp的数据文件每隔一定时间传送到其余齿轮。

b。附加文件系统

让齿轮服务相同内容的另一种方法是让所有齿轮都指向外部存储 — S3。因此,如果您使用 S3,则不需要后台作业来在齿轮之间复制数据。如果提供 30-50 个页面的瓶颈是 I/O 读取数据,那么 S3 肯定可以帮助将其卸载到其服务器。