<html><head><style type="text/css"><!-- DIV {margin:0px;} --></style></head><body><div style="font-family:times new roman, new york, times, serif;font-size:12pt">I found personally that apache if configured properly proxy_pass just fine python and java applications within high load. There are issues, but depending on the app business logic and infrastructure architecture you might be better with different lighter implementations of the http/proxy app stack. I also used apache with and without "keep alive" and again ran it just fine under both light, simulated high and prod concurrent traffic.<br><div> </div>Aleksandar (Sasha) Kacanski<div style="font-family: times new roman,new york,times,serif; font-size: 12pt;"><br><br><div style="font-family: times new roman,new york,times,serif; font-size: 12pt;">----- Original Message ----<br>From: Jonathan Vanasco <nycbug-list@2xlp.com><br>To: NYCBUG List <talk@lists.nycbug.org><br>Sent: Tuesday, July 3, 2007
12:54:27 PM<br>Subject: Re: [nycbug-talk] Django Web Framework<br><br><div><br>On Jul 2, 2007, at 8:15 PM, michael wrote:<br><br><br>> First.. what happened to good 'ol Perl? [grin]<br>><br><br>still very active. mod_perl still dominates the ecommerce enterprise <br>market and many of the top visted sites. and to be nycbug related... <br>all the IAC properties ( ticketmaster, evite, etc ) run perl on a <br>freebsd server farm. freebsd is actually the only quasi-officially <br>supported platform for mod-perl/libapreq -- one of the core devs <br>ports new releases to the ports tree as soon as they're released. <br>none of the other operating systems get that :) i think the closest <br>is CentOS which is only 2 versions behind the current.<br><br><br>> Django, Turbogears, and Pylons are *some* of the top choices. <br>>
There is<br>> ....<br>> Also.. reading up on WSGI, python's "Web Server Gateway Interface" <br>> is suggested.<br>><br><br>all those apps were migrating to WSGI middleware spec last time i <br>touched them...<br><br><br>> 127.0.0.1:5000 (or whatever port you choose) and have Apache proxypass<br>> requests. This is REALLY flexible when scaling. Apache can do what<br>> it is good at: handling traffic. One could see redundant Apaches,<br>> passing to redundant webapp servers behind the firewall.. with<br>> potentially redundant database servers.<br>><br><br>thats wrong.<br>apache is f***ing awful at handling traffic. you'll hit a huge <br>bottleneck in your system if apache is proxypassing to everything else.<br>run something like nginx , lighttpd , squid, or any of the other <br>micro-servers / proxy servers. they're built for handling traffic.<br>apache is
built for getting http done right -- no one comes close to <br>it being correct and stable like that, but it does so at the cost of <br>speed and memory.<br><br>apache dies under high concurrency though. there have been tons of <br>keepalive issues too. unless you're using apache for a specific <br>apache feature, you're best off staying away.<br><br><br>> Of course you could remove Apache all together and go lighty!<br>><br>not if you're proxying. unless they fixed that damn memory leak <br>finally-- i was reporting it every day for 2 months, and it never got <br>fixed. i recall bob was leaking 60mb an hour on mochimedia or <br>something stupid big like that. i just don't trust lighty-- i mean <br>its written by a mysql dev in his spare time ! (though jan might be <br>the smartest person at mysql)<br><br>I don't
know pylons well, so I won't speak to it...<br><br>but my experience with Django & TurboGears was this:<br><br> Django worked very well, but was so engrained to a publishing model <br>that i couldn't use it. That's apparently changed a lot -- its way <br>more flexible now. that new site pownce is running it ( which amazed <br>me, it has a very twisted python feature set )<br> TurboGears seems like a good idea... But its honestly a mess. i <br>don't want to go into details, but I learned my lesson trying to use <br>it and be active on the development. unless its been rewritten from <br>scratch and svn privs from the bulk of committers revoked, i would <br>not run it at all.<br><br>whatever you choose, i strongly suggest using sqlalchemy or whatever <br>its sucessor is. there were a
lot of neat orms in python, but they <br>were like the rails ones -- they created and required mindless not- <br>scalable database schemas. sqlalchemy was nice, because you can <br>quickly change the schema or map it to an existing db.<br><br>if i had to choose a python framework, i'd go for pylons or django -- <br>they have the more impressive projects built with them out of all the <br>frameworks, and they have the most varied. the other systems all <br>seem to limit what you can do.<br><br>on a side note...<br><br> TAL is the best thing ever. you can jump between frameworks and <br>languages , while keeping the same templates. some of the newer <br>python templating toolkits are even better featured, but they lack <br>the portability of tal. i'd strongly look into using it.<br><br><br><br><br>//
Jonathan Vanasco<br><br><br>_______________________________________________<br>% NYC*BUG talk mailing list<br><a target="_blank" href="http://lists.nycbug.org/mailman/listinfo/talk">http://lists.nycbug.org/mailman/listinfo/talk</a><br>%Be sure to check out our Jobs and NYCBUG-announce lists<br>%We meet the first Wednesday of the month<br></div></div><br></div></div><br>
<hr size=1>Ready for the edge of your seat?
<a href="http://us.rd.yahoo.com/evt=48220/*http://tv.yahoo.com/">Check out tonight's top picks</a> on Yahoo! TV.
</body></html>