Поскольку сервер разработки 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>