мы запускаем WildFly 8.1 на наших серверах. Чтобы сделать наше приложение доступным через порт 80, мы используем apache с mod_proxy. Мы передаем каждый запрос на порт 80 в WildFly. Проблема в том, что это очень медленно. Например, если мы обращаемся к приложению напрямую, без прокси, время загрузки составляет около 2 секунд. Через прокси примерно 20 секунд.
Мы без проблем использовали ту же конфигурацию прокси с другим сервером приложений. Кроме того, мы также попробовали использовать nginx в качестве прокси. Та же проблема. Более того, мы не можем найти никакой информации об этом в Интернете. Проблема была размещена и на форуме WildFly (см. https://developer.jboss.org/thread/251358). Но ответа до сих пор нет. Если у кого-то есть идея, что может быть не так, пожалуйста, дайте нам знать.
заранее спасибо
РЕДАКТИРОВАТЬ: Мы выяснили, что нормальные HTML-страницы загружаются без проблем, но, например, java-скрипты загружаются медленно. Вроде как с размером файла что то связано. Небольшие JavaScripts (для тестирования с 2 строками) загружаются без проблем. Остальные занимают почти минуту. Мы захватили сетевой трафик. Кажется, что отправлено много пакетов TCP-Connection-Alive. Когда мы открываем один файл javascript в браузере, он появляется сразу же, но браузер все еще загружается и показывает «передачу данных».
У меня была такая же проблема в Windows. Я решил это, изменив URL-адрес в proxy_pass.
Перед изменением:
proxy_pass http://localhost;
После изменения:
proxy_pass http://127.0.0.1;
Проблема вызвана тем, что localhost может быть решен как адрес ipv6 (:: 1) и адрес ipv4 (127.0.0.1), а серверная часть не прослушивает оба интерфейса.
Вы можете прочитать больше здесь: https://trac.nginx.org/nginx/ticket/496#ticket
Похоже, что если мы отключим keepAlive в apache2.conf, страницы загружаются с нормальной скоростью.