Ked spominate perlovske skripty, neskusali ste mod_fastcgi? Proste mat spustenych zopar obsluznych procesov (max.5) na kazdy jeden fastcgi, ktory je na disku.
Dalsi problem moze byt v tom, ze nie je zapnuta query cache v databaze alebo je pouzivana nespravne (updatovanie tabuliek vyprazdnuje tuto cache!). Nevyberaju sa niektore data z databazy zbytocne? Tie data, ktore sa neupdatuju prilis casto, by som fastcgickom vybral z databazy raz, upravil si ich do najvhodnejsej struktury a uz iba pouzival. Dynamicky vytvarane stromovite menu podla tabulky v databaze? Bez problemov ... Pri prvom behu si ho vyrobim a potom uz iba kontrolujem, ci sa nezmenila tabulka.
To uz miri opravdu jinym smerem. A nebojte, tohle mame opravdu dobre pod kontrolou.
Tohle je reseni proti pomalym klientu. Ted si jeste vzpominam, ze na jinem serveru jsem mel spustenou gcache (cache pro P2P sit Gnutella) a nektere hlavicky se od klientu nacitali v i pres 10 sekund!
Mozna sem to v clanku moc nezduraznil (no jak koukam tak vubec), ale pomoci reverzni proxy mate moznost stavet vysoce specializovane servery. Jeden jenom na php, dalsi na obrazky, treti na perlovske skripty... a ta reverzni proxy to bude na ty ruzne servery smerovat podle domeny, pripony, nebo jineho vaseho kriteria.
Nemůžu si pomoct, ale reverzní proxy podle mne dává smysl jen v případě, kdy za ní mám několik fyzických serevrů. Jakmile je jen jeden (a ještě běží na stejném stroji), dá se toho samého efektu dosáhnout dobrým návrhem aplikace (cachovat statická data může aplikace; nenahrávat pro každý požadavek do paměti celých 60MB jde taky udělat v aplikaci; je otázka, zda všechno, co se dělá při požadavku, musí být nutně on-line a nestačilo by třeba dávkové zpracování atd.) Použít v takovémhle případě reverzní proxy lze odůvodnit jedině tím, že chci rychle použít "krabicové" řešení - jinak autor aplikace bude asi lépe vědět, co cachovat, než univerzální proxy.
BTW, podle mne bylo zvýšení výkonu dost ovlivněno náhradou Apache 1.x -> 2.x na "klientské straně", myslím, že co se týče optimalizace procesů a threadů je mezi těmito verzemi velký rozdíl (ale popravdě Apache už moc nesleduji).
Tak ja bych se s dovolenim ozval, pouzivam mod_jk (v obou verzich na ruznych serverech) i reverzni proxy (presmerovava nektere pozadavky z Apache2 na Apache1.3 ) ale nejsou mo jasne vyhody napojeni Tomcatu pres reverzni proxy oproti mod_jk. Ale rad se necham nakopnout spravnym smerem...