Как я улучшаю производительность своего сайта Drupal с большим количеством параллельных пользователей?

Я не вижу оснований для закрытия обоих DC сразу. Откат USN только будет проблемой при восстановлении момента времени copy\clone\snapshot определенного DC после того, как исходной машине позволили продвинуться. Для Вашей миграции, закрывает DC и перемещение it\copy, это с помощью любых работ механизма лучше всего затем перезапускает его на новом сайте. В той точке делают 100% уверенными, что источник, VM не может быть перезапущен, поскольку это вызовет откат USN. После того как Вам переместили один DC успешно, повторите процесс для другого (s).

Если оба сайта активны и видят друг друга, можно переместить DC индивидуально при тихом сохранении по крайней мере одного активным в любом случае, который необходимо будет сделать, если миграции займут какой-либо отрезок времени вообще. Как Вы узнали с проблемами vCenter, которые возникают, когда Ваш DNS понижается, Вы не можете сделать многого в AD управляемой среде при приведении в нерабочее состояние всех AD сервисов.

Если оба сайта абсолютно независимы друг от друга - так, чтобы, когда DC перемещен в новый сайт, он не мог общаться с исходным сайтом - затем необходимо будет быть намного более осторожными, и оба DC должны будут быть закрыты в течение некоторого промежутка времени, чтобы гарантировать, что отката USN не происходит. Можно переместить первый DC, который Вы хотите переместить при сохранении другого активным, но необходимо сохранить тот DC выключенным на исходном сайте, пока Вы не переместили второй DC. Если Вы не делаете затем существует риск отката USN.

Для обхождения этого, я предложил бы следующее. Сделайте клон каждого DC на исходной стороне с помощью vCenter. Будьте очень осторожны с ними, поскольку Вы не хотите включать их с сетевым соединением на исходном сайте.

  1. Выключите один DC (DC01) и клонируйте его (DC01-клон). Сохраните выключенным на данный момент.
  2. Клонируйте второй DC (DC02), в то время как он включается так, у Вас теперь также есть DC02-клон. Идеально у Вас должен быть третий DC, что можно сохранить включенными при завершении работы этого, но я предполагаю, что Вы не имеете один и не хотите создавать тот.
  3. Можно теперь привести в действие первый исходный DC VM назад на (DC01).
  4. Отключите сетевые адаптеры на них новый VM's клона (DC01-клон и DC02-клон) сразу только, чтобы быть бесспорными.
  5. Переместите их с помощью любого механизма, который Вы хотите использовать.
  6. Повторно включите сетевые интерфейсы, когда Вам переместят их в новый сайт и включите их.
  7. Удалите клоны на исходном сайте.
2
задан 23 April 2013 в 04:07
3 ответа

Ответы Drupal могут лучше подходить для этого вопроса, но вот несколько моментов для вас:

  • Как можно чаще используйте кеширование в Drupal И на сервере.
  • ЕСЛИ большая часть вашего трафика будет анонимной, рассмотрите возможность использования обратного прокси, например Varnish . Есть модуль , который помогает Drupal лучше использовать Varnish. Используйте его, если вы решили реализовать Varnish.
  • Попробуйте также использовать что-нибудь вроде memcache .
  • Если ваш сайт Drupal построен на Drupal 6, подумайте о преобразовании исходного кода Drupal в Pressflow Drupal сайт (это просто). Pressflow включает в себя множество оптимизаций производительности (но это спорный вопрос, если вы используете Drupal 7.)

Теперь для Apache… не используйте готовую конфигурацию Apache. Вам необходимо настроить Apache на свой сайт. Предполагая, что вы используете mod_prefork (я бы сказал, что это довольно вероятно, но только вы можете это определить) Вот основы того, как это делается, но вам действительно стоит нанять кого-то, кто знает, что делает.

  • Определите максимальный объем памяти, который вы хотите использовать Apache.
  • Тщательно протестируйте свой веб-сайт и определите, сколько памяти использует каждый процесс Apache (используя top ).
  • Возьмите процесс Apache наверху, который использует больше всего памяти, добавьте к нему немного для хорошей оценки, а затем разделите ваше первое число (максимальный объем памяти, который вы хотите использовать Apache) на это новое число.
  • Число, которое вы get должны быть вашими переменными MaxClients и ServerLimit .

Это, конечно, не окончательный ответ. Настройка сервера требует времени и опыта. Удачи.

7
ответ дан 3 December 2019 в 08:54

Кэшируйте все статические страницы, часто используемые страницы, меню и гиперссылки с помощью инструмента кэширования, такого как memcache. Проблема с Drupal заключается в том, что он делает много доступа к БД для каждой загрузки страницы и полностью перезагружает каждую страницу.

0
ответ дан 3 December 2019 в 08:54

There's a few modules out there (Boost, Varnish etc.) which can help you boost things if you mostly have anonymous users. However, they won't help you that much if users create profiles on your site and log in.

This is how I set up servers for Drupal:

  • Disable the Update Manager module. It slows down your site.
  • I've replaced Apache with Nginx and phpfpm. You probably need to set up and configure this yourself. Even though I have not done any "formal" benchmarks, my impression is that Nginx + phpfpm serves requests faster. Here's a configuration for Nginx and Drupal.
  • Optimise MySQL and InnoDB tables. See the MySQL Performance Blog.

There might be a lot small improvements which can take things further, but I think this could be at least a starting point for things to look at.

1
ответ дан 3 December 2019 в 08:54

Теги

Похожие вопросы