I recently set up APEX 4.2 via the EPG. As I don't want to directly expose the database server to customers, I'm running it through Apache with the following proxy lines:
ProxyPass /apex http://backend-db:8080/apex
ProxyPassReverse /apex http://backend-db:8080/apex
ProxyPass /i http://backend-db:8080/i
ProxyPassReverse /i http://backend-db:8080/i
I also have /i available to be served locally, but I found APEX is passing some parameters on to some of the static resources, which Apache doesn't much care for with static resources.
I'm experiencing some significant delays when running it, however. When I access /apex, I'm 302 redirected to /apex/apex. That redirect takes a few seconds to be sent back to my browser. /apex/apex then takes about twice as long to redirect me to f?p=4550..... which returns a 200 and data in about three seconds. Additional resources are loaded in miliseconds.
In my testing, when I hit the backend DB directory, I'm finding these initial redirects generally take a few ms instead of several seconds. It is pretty regularly repeatable. Any thoughts as to why the Apache proxy would introduce so much delay?
Unload all modules from Apache you do not use.
It is hard give any good advice without full details about environment.
What is e.g. database version and edition?
What is APEX version?
What is Apache version?
My Blog: http://dbswh.webhop.net/htmldb/f?p=BLOG:HOME:0
these documents should help you tune the shared server configuration:
Typically, serving static content via Apacha (as Jari mentioned) and some tweaks of the shared server parameters give quite acceptable performance if the load is not too heavy. However, you should investigate switching to Apex Listener or OHS / mod_plsql, if security and scaling is an issue.