Apache代理背后的GAE dev服务器有时很慢

由于Google App Engine开发服务器一次只能提供一个文件,因此我决定使用静态资源,而不是Apache 2.2.17 / XAMPP 1.7.4 / WinXP32 。 使用Apache的“ProxyPass”将请求dynamic创build的资源路由到GAE开发服务器。 总的来说,可靠和快速的工作。

但是,通过Apache访问时,dynamic创build的资源有时需要很长时间才能加载。 起初我以为这是由于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 

Apacheconfiguration缩短了:

 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来解决它。 速度更快,也更容易configuration。 你可以在这里看到一个configuration示例。