Hi!
i knew that! :) btw, there's currently sparse document on mod_pcgi2. i'd like to change that, but i need info from you (the author ..straight from the horses mouth - so to speak) or snippets from your httpd.conf. do i need to have Zope.cgi available? i think i do since otherwise, there'll be no connection. or am i missing something?
You missed pcgi-wrapper :) If you look into Zope.cgi (it is just plain text file) you'd found it is a script interpreted by pcgi-wrapper. That very pcgi-wrapper is a binary file compiled from pcgi-wrapper.c during the Zope installation process. The pcgi-wrapper binary is the program that implements PCGI protocol. When I wrote mod_pcgi2, I borrowed a lot of code from pcgi-wrapper.c. That way you do not need Zope.cgi or pcgi-wrapper - the PCGI code is already in mod_pcgi2.
how can i finetune the performance? it seems that under heavy load, eg 100 simultaneous apache connection, it'd get loger to contact the server. in the browser, we'd see contacting the server, waiting for reply .. for about 3-4 secs before we get any activity/reply from server.
You'd need to finetune Zope, not the mod_pcgi2 module. When you connect to Zope-behind-Apache the process is going the following path: 1) browser sends a rquest to Apache 2) Apache invokes the mod_pcgi2 handler 3) the handler passes the request to Zope 4) !!! here is the problem to finetune !!! If Zope's own pull requests handlers is empty - Zope does not handle the request, but queues the request and waits 5) after Zope processes the request it passes the results back 6) mod_pcgi2 passes the results to Apache 7) Apache passess it back to browser. Ususally there are 4 threads in Zope, and 7 ZODB connections. The first number - 4 threads - could be configured by passing parameter to z2.py. If you raise the number much, you'd need to raise he seconf number somwhere in the ZODB source code. These are points for finetuning. Actually you may need to tune more things, but these things are just totally unrelated to mod_pcgi2. Tune ZODB cache, install and learn to use cacheing Products (the are a number of caches for Zope), use squid, etc.
when i do a packet dump, it seems that the machine needs a couple of SYN before getting and ACK from the server. do you think it has anything to do with mod_pcgi2? sorry if it's not.
I'm pretty sure it has nothing with mod_pcgi2. SYN/ACK are properties of TCP/IP protocols, and PCGI protocol is much higher level. Oleg. ---- Oleg Broytmann http://www.zope.org/Members/phd/ phd@phd.pp.ru Programmers don't die, they just GOSUB without RETURN.