From: <kr...@po...> - 2003-01-27 20:03:27
|
Derek Robinson writes: > I wrote a proof-of-concept demo of 'Pushlets' in PHP a few months ago for > my own amusement. I concluded (as did the Java Pushlets guy) that pushing > content over http to more than 20 or so clients puts an unnecessarily big > burden on the server. (In fact the Pushlet guy has been pushing 'pullets' > for quite a while now.) Well, it depends. Most web servers can handle ten hits a second without any trouble; assuming 10 kilobytes per hit, 20 hits a second saturates a T1. If you have no inline images, and your users spend an average of 60 seconds on each page, that's only 1200 users. And if you're trying to get out real-time updates to these folks by means of "pull", you have a maximal latency of 60 seconds; if you want updates to be twice as frequent, it takes twice the bandwidth and server load. Now, by contrast, IRC servers on the Undernet regularly handle 20 000 clients. When I first performance-tested the push_manager included in mod_pubsub back in 2000, it could handle 4 000 simultaneous push connections on a 1GHz box without any trouble, and that's on Linux without any compile-time kernel tuning. IRC servers generally run on FreeBSD because its network stack scales better, or at least used to. Typically, an IRC client sends a notification every 10-20 seconds, and receives a message 1-10 times a second. So, anyway, pushing out updates when they happen can impose a much smaller load on the server's bandwidth than having the client poll in common circumstances. > But hey, if anyone's interested I could dig it out & dust it off ... I'd love to see it. -- <kr...@po...> Kragen Sitaker <http://www.pobox.com/~kragen/> Edsger Wybe Dijkstra died in August of 2002. The world has lost a great man. See http://advogato.org/person/raph/diary.html?start=252 and http://www.kode-fu.com/geek/2002_08_04_archive.shtml for details. |