diesellaws
  • 0
Новичок

Как внедрить «отказной кит» для мягкого ограничения нагрузки на сервер (Решения по управлению пропускной способностью системы)

  • 0

На нашем веб-сайте мы хотим сделать так, чтобы, если сайт вот-вот выйдет из строя, он вместо этого отображал пользовательскую ошибку 503 (на основе установленного нами предела нагрузки на сервер). Есть ли что-то, что может справиться с этим, что уже встроено, или плагин, который может помочь?

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

Share
  1. Я думаю, что это больше вопрос о сбое сервера serverfault.com 🙂

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

    Этот ответ о переполнении стека предлагает посмотреть sys_getloadavg() и отобразить ошибку, когда она слишком высока (и «слишком высокая» должна определяться методом проб и ошибок). Я бы сделал это в основном index.php файле, который «загружает» WordPress, чтобы получить быстрый выход и не создавать дополнительную нагрузку на сервер.

    • 0
  3. Если ваша система работает на Linux, вы можете прочитать фактическую загрузку сервера из/proc/loadavg

    Например:

    $load = reset ( explode ( ' ' , file_get_contents('/proc/loadavg') ) );
    
    if ($load > 3.14 )
    {
        // load too high, 
        header('HTTP/1.1 503 Service Temporarily Unavailable');
        header('Status: 503 Service Temporarily Unavailable');
        header('Retry-After: 60');
        fail_whale();
    }
    

    РЕДАКТИРОВАТЬ: добавлены строки метода заголовка.

    • 0
  4. Вы можете настроить сообщение, когда база данных не работает, вставив db-error.php в wp-content каталог.

    Но если PHP не работает, я не думаю, что WP или его плагин смогут что-то сделать. Лучше спросите у своего хостинга, как вы можете настроить страницу 503 сервера.

    • 0
  5. В вашем файле.htaccess добавьте эту строку:

    ErrorDocument 503 /error503.html

    Затем создайте файл error503.html в корне сайта, в котором есть ваши пользовательские материалы.

    Это может работать или не работать в зависимости от того, как настроен ваш хостинг.

    • 0

Оставить ответ

You must login to add an answer.