Назад | Перейти на главную страницу

Сервер разработки GAE за прокси-сервером Apache иногда работает медленно

Поскольку сервер разработки Google App Engine обслуживает только один файл за раз, я решил использовать статические ресурсы для обслуживания: Apache 2.2.17 / XAMPP 1.7.4 / WinXP32. Запросы на динамически создаваемые ресурсы направляются на сервер разработки GAE с помощью Apache «ProxyPass». В целом работает надежно и быстро.

Однако при доступе через Apache динамически созданный ресурс иногда загружается очень долго. Сначала я подумал, что это связано с медленной реакцией сервера разработки GAE. Но при загрузке того же ресурса непосредственно с сервера разработки GAE ответ будет всегда быстро.

В чем может быть причина такой медленной реакции?

Выдержка из журнала Apache (обратите внимание на ожидание с 10:10:42 по 10:10:53):

[Fri Aug 05 10:10:42 2011] [debug] proxy_util.c(2444): proxy: HTTP: fam 2 socket created to connect to localhost
[Fri Aug 05 10:10:42 2011] [debug] proxy_util.c(2576): proxy: HTTP: connection complete to 127.0.0.1:8080 (localhost)
[Fri Aug 05 10:10:53 2011] [debug] mod_proxy_http.c(1735): proxy: start body send
[Fri Aug 05 10:10:53 2011] [debug] mod_proxy_http.c(1839): proxy: end body send

Конфигурация Apache, сокращенная:

NameVirtualHost 127.0.0.1:8081
Listen 127.0.0.1:8081
<VirtualHost 127.0.0.1:8081>
    ProxyPass /demo/images !
    ProxyPass / http://localhost:8080/
    ProxyPassReverse / http://localhost:8080/

    Alias /demo/images "C:/Scratch/realitybuilder/demo/images"
    <Directory "C:/Scratch/realitybuilder">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Order allow,deny
        Allow from all
        AddDefaultCharset utf-8
    </Directory>
</VirtualHost>

У меня была аналогичная проблема с использованием Apache в качестве обратного прокси для разработки GAE. Я решил это, переключившись на nginx. Это быстрее и проще в настройке. Вы можете увидеть пример конфигурации Вот.