tomcat frontend Apache, squid, vagy varnish?

Fórumok

Tomcatnek tapasztalataim szerint mindenképpen kell frontend, másképpen a lassabb kapcsolatú kliensek miatt kifekszik.

VPS-en van Tomcatem. Így a memória is kritikus.
Jelenleg squid van előtte. Ezzel cachelem is a válaszokat.
Ennek a memóriahasználata kb. 20-24MByte.
Mivel itt kevés a memória (360MB + 256MB swap), és van még postgres is a Tomcaten kívül, (ez 24M shared buffersre van állítva), így az Apache kérdéses.
Bár Apache-nál is van cache lehetőség + az AJP connector gyorsabb lehet mint a squid http connectorral. Viszont az Apache mem használat konnekciónként 2M, így ha a squid mem. használatát szeretném tartani, egy időben max. 6 konnekció. Ez így elég kevés.

Kérdésem: Varnish + Tomcat-el kapcsolatban van-e valakinek tapasztalata?
Bár lehet, hogy az én esetemben nem is lenne értelme, úgy lövöm be a szervereket, hogy ne swappeljen, hanem úgy állítok be mindent, hogy elég legyen a memória, így nem jönnek elő a Varnish előnyei, lehet, hogy még lassabb is lenne, mivel a kernelre hárítja a cachelést, így lehet, hogy összeveszne pl. a postgresql-el a cache-n.

Vagy ki mit használ Tomcat elé? :)

Hozzászólások

Tomcatnek tapasztalataim szerint mindenképpen kell frontend, másképpen a lassabb kapcsolatú kliensek miatt kifekszik.

Szerintem a Tomcat is NIO alapú http workerrel dolgozik (mint a Glassfish), mit értesz "kifekvés" alatt? Mik a tünetek?
--
http://www.javaforum.hu

Szerver nem válaszol a kliens kérésekre, csak homokórázik a böngésző.

Az a baj, hogy már régen néztem a netstat-al a hibát (kb. 2 éve), ha jól emlékszem sok kapcsolat van várakozó állásponton (Time wait??).
Ennek az lehet az oka, hogy egy-egy lassú, bizonytalan kliens megszakad, és ezek elkezdik felzabálni a kapcsolatokat, szerver belassul, majd elkezdenek a userek frissítgetni, ez meg végleg betesz a Tomcat-nek.
Idén is voltak gondjaim egy napi kb. 5-6 ezer kérést kiszolgáló Tomcat 6.0.14-el + java 1.6u4-el. Itt, hogy elé raktam a Squid-ot, megoldotta a gondot. Máshol Apache-ot használok, mod_proxy_ajp-vel, ott sincsenek ilyen gondjaim. Illetve később lecseréltem a régi szerveren a Squidot Apache-ra, és akkor sem volt gondom.

Mire gondolsz, a frontend + tomcat beállításokra? :)
- Apache + Tomcat + proxy_ajp-re rengeteget találsz.
- Squid + reverse proxy OR accellerator-ra is rengeteget találsz (Tomcat beállítás 8080-as porton localhost)
- Varnishra egyenlőre nem találtam, de itt sem lehet bonyi, csak ezzel még nem bajlódtam, mivel az én esetmben sejtésem szerint mégsem olyan jó :)