Owszem... napisac wlasny serwer to nie problem ale problem zaczyna sie jak masz obsluzyc nim kilkaset rownoczesnych polaczen. Czy Twoj serwer w pythonie obsluzy np 50 rownoczesnie otwartych polaczen czy po zaakceptowaniu pierwszego (niech np bedzie wykonywal jakies obliczenia albo czekal 20 sekund na odpowiedz z bazy danych) zatka sie do czasu zakonczenia obslugi polaczenia?

Ja na razie mieszcze sie jeszcze w 200 polaczeniach/sek ale to juz jest nieco malo bo w ciagu ostatniego miesiaca skoczylismy z 20 do 120 na sekunde. Stad wlasnie pomysl zmiany serwera aby wycisnac max polaczen z serwerow.

Cala sztuczka w tym, ze prowadzac dosc obciazone serwery dostajesz w dupe z 2 stron - od uzytkownikow (kazda przegladarka otwiera srednio od 4 do 12 polaczen do serwera i na kazdym trzyma keep-alive) oraz od strony engine'u - np baza danych, ktora jest tak duza, ze czas przetworzenia zapytania w niej to 4-5 sekund. Co wtedy?!
Kazde polaczenie od klienta to pewna ilosc RAM ktora zajmuje proces obslugujacy dane polaczenie. Teraz ten proces czeka 5 sekund na baze a nowe polaczenia przychodza w tempie 50 nowych w ciagu kazdej kolejnej sekundy! Praktycznie wiec obslugujesz raptem kilka zapytan do bazy majac 250 userow ktorzy blokuja 1000 polaczen do serwera (4 na usera) i zaczyna sie zima... zakladajac ze sredni proces apache'a z dodatkami (np PHP + biblioteki ktore zaladowalo) ma niech bedzie 15MB (to i tak malutki), teraz masz 1000 polaczen - 15GB RAM?

Rozwiazanie jakie przychodzi mi do glowy - ustawic serwer multiplexujacy albo wielowatkowy obslugujacy polaczenia asynchronicznie i odpalic tyle procesow backend'u aby sie wyrabiac mieszczac w limicie czasu i RAMu. Ciezka sprawa...

Przyklad:
Apache 2.x wielowatkowy (mpm-worker) z PHP dzialajacym jako FastCGI (aby bylo bezpiecznie na watkach) zajmuje u mnie 231.5MB RAM, na razie procesy sa 2 konkretne i 2 mniejsze po 10MB ale ten serwer to tylko testowa maszyna... wiec zalozmy po 230MB na proces apacza... do tego procesy PHP dzialajace jako FastCGI - 20MB kazdy... ile teraz tego odpalisz na serwerze zanim zdechnie? 5 procesow apache'a da juz ponad 1GB RAM, 10 procesow PHP daje nastepne 200MB wiec lekkim strzalem 1.5GB RAM na sam serwer WWW, do tego jakas baza danych (lepiej aby byla na osobnym serwerze)... masakra! Cale szczescie ze RAM leci w dol

OFF-TOPIC:
Najkrotszy kompletny serwer jaki widzialem w Perlu miesci sie w standardowej sygnaturce do maila (max 4 linie po 60 znakow kazda) i wyswietla spowrotem swoj kod kazdemu klientowi. Nie uzywa on zadnych modulow poza IO::Socket - gada z gniazdami na najnizszym poziomie (a moglby uzywac Net::Server::HTTP lub dowolnego innego - jest ich masa).