Сайт работает медленно из-за интенсивных сценариев - PullRequest
0 голосов
/ 20 февраля 2011

У меня есть сайт, который должен сканировать разные сайты для сбора информации. Когда выполняются сценарии сканирования, скорость сайта замедляется. Я сделал все возможное, чтобы оптимизировать сканирование, но оно действительно сильно загружает ЦП и ОЗУ. Эти обходы должны происходить на основе некоторых действий пользователя (например, поиск). Это не вариант «предварительного сканирования» информации, так как она чувствительна ко времени.

Какие общие стратегии я могу использовать для решения этой проблемы? Вот 2 моих идеи:

  • Получите больше ЦП и ОЗУ на текущем сервере
  • Перенос этих сценариев с интенсивной обработкой на отдельный физический сервер.

Я интересуюсь облачными вычислениями, но не имею никакого опыта в этом. Предложения?

Ответы [ 2 ]

1 голос
/ 20 февраля 2011

Вы уже определили варианты.«Облачные вычисления» не означают ничего, кроме возможности быстро выделить VPS с почасовой оплатой.Это то же самое, что купить другой физический сервер, за исключением того, что хост не подождет, пока он подключится к сети и отправит вам по электронной почте доступ к информации, и без ежемесячных обязательств.Вам все еще нужно написать приложение, чтобы использовать несколько серверов, вы должны написать код для «увеличения» или «уменьшения» по мере необходимости (купить или прекратить работу виртуальных серверов и написать код для автоматического запуска любых программ, которые вам нужны на них).) вам все равно нужно правильно управлять серверами (устанавливать и поддерживать ОС, обновлять пакеты с исправлениями безопасности) и т. д.

0 голосов
/ 20 февраля 2011

Вы можете попытаться сделать действие асинхронным: -

  1. Пользователь отправляет поиск.
  2. Система отображает: «В настоящее время система выполняет поиск информации на основе ваших критериев, и вы вскоре получите уведомление». Система обрабатывает пользовательский запрос в то же время.
  3. Поскольку пользователь не ждет страницу результатов, он может свободно просматривать или выполнять другие действия на своем веб-сайте вместо блокировки своих экранов.
  4. Когда результат генерируется, система уведомляет пользователя о том, что поиск выполнен, и предоставляет пользователю ссылку для просмотра результата. Это можно сделать, отправив пользователю уведомление по электронной почте, или просто щелкнув диалоговое окно или сдвинув сообщение уведомления в строке меню (в основном, что-то, чтобы привлечь внимание пользователя).

Целесообразно иметь отдельную машину для выполнения этих сценариев с интенсивной обработкой, чтобы она не замедляла весь сервер приложений, особенно когда у вас есть тонны пользователей, отправляющих поиск.

...