я использовал http://www.webpagetest.org инструмент для проверки веб-страницы, это означает, что keep-alive не активирован. Я исследовал это и привел к Как включить поддержку активности? а также Изменение значения PHP $ _SERVER [‘HTTP_CONNECTION’]
Исходя из этого я попробовал <ifModule mod_headers.c> Header set Connection keep-alive </ifModule>
в файле .htaccess. http://www.webpagetest.org инструмент, все еще указанный, keep-alive не активирован.
Я связался с хостинговой компанией, и они заявили, что Keep-Alive включен.
Я создал простой тестовый html-файл (назовите этот test.html), который пытался загрузить два изображения: одно с сервера, который не поддерживал работу (вызывать это notalive), а другое с сервера (вызывающего это живой), что http://www.webpagetest.org указанный инструмент сохраняет в живых.
Результаты:
при проверке test.html, размещенного на сервере notalive с помощью инструмента webpagetest, изображение на сервере notalive указывает, что keep-alive не активирован, однако для изображения на сервере live инструмент указывает, что он keep-alive.
Затем я поместил файл test.html на сервер живым, и инструмент веб-страницы указал точно так же, как в тесте выше, что для изображения на сервере notalive инструмент сообщает, что keep-alive не активирован, а для изображения на сервере живого инструмент говорит: keep-alive активирован.
Это заставило меня поверить в то, что, поскольку HTML-файлы идентичны, моя проблема может быть связана с тем, что сервер настроен так, что он не работает.
Я запустил phpinfo () с обоих серверов и сохранил строки, которые, похоже, были связаны с живыми (на основе описанных выше сообщений stackoverflow) и воспроизвел эти строки ниже.
Для нотариального сервера:
PHP Version 5.3.29
Configuration: apache2handler: Max Requests Per Child: 500 - Keep Alive: on - Max Per Connection: 100
Configuration: apache2handler:Timeouts Connection: 300 - Keep-Alive: 1
Apache Environment: HTTP_CONNECTION close
HTTP Headers Information: HTTP Request Headers: connection close
Connection keep-alivePHP Variables: _SERVER["HTTP_CONNECTION"] close
Для живого сервера:
PHP Version 5.2.12
apache: Max Requests Per Child: 1000 - Keep Alive: on - Max Per Connection: 500
Timeouts Connection: 300 - Keep-Alive: 5Apache Environment: HTTP_CONNECTION keep-aliveHTTP Headers Information: HTTP Request Headers: Connection keep-alive
HTTP Headers Information: HTTP Response Headers:
Keep-Alive timeout=5, max=500
Connection Keep-Alive
PHP Variables: _SERVER["HTTP_CONNECTION"] keep-alive
Я был бы очень признателен, если бы кто-то взглянул на вышесказанное и, возможно, предложил несколько советов о том, как активировать поддержку активности.
Спасибо, что нашли время, чтобы прочитать это.
Сортировка или хотя бы обходной путь.
На основании моих тестов хостинговая компания пришла к выводу, что проблема связана с использованием веб-сервера Apache и Varnish Cache.
Они переместили сайт на сервер Litespeed, и теперь соединения остаются живыми.
Спасибо Blowski за помощь.
Других решений пока нет …