473,411 Members | 2,080 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,411 software developers and data experts.

High volume websites using Python web server software?

Hi,
Things like Twisted, medusa, etc.... that claim to be able
to support hundreds of concurrent connections because of the
async I/O framework they're based on....
can someone give a few examples of some web sites actually
using those Python frameworks?

Thanks :)

--Irmen
Jul 18 '05 #1
7 3639
Irmen de Jong <irmen@-nospam-remove-this-xs4all.nl> wrote:
Things like Twisted, medusa, etc.... that claim to be able
to support hundreds of concurrent connections because of the
async I/O framework they're based on....
can someone give a few examples of some web sites actually
using those Python frameworks?


http://www.diadi.it
http://www.superleague.co.uk
http://www.playzone.cz
http://www.divmod.com
http://www.divmod.org

These are those that I know made with Twisted + Nevow

There are others obviously. And other people will tell you about sites made
with other python frameworks.

BTW: I'm writing a forum with Nevow, and from the last tests I've run, I can
tell you that with a normal page (3 db queries) and no caching or
optimizations, I can handle 600.000 connections/day which is almost
20M/month.
I've used ab to measure this performances and I think they are good ones.

--
Valentino Volonghi aka Dialtone
Now running FreeBSD 5.3-beta7
Blog: http://vvolonghi.blogspot.com

Jul 18 '05 #2
Irmen de Jong <irmen@-nospam-remove-this-xs4all.nl> writes:
Hi,
Things like Twisted, medusa, etc.... that claim to be able
to support hundreds of concurrent connections because of the
async I/O framework they're based on....
can someone give a few examples of some web sites actually
using those Python frameworks?


online scrabble game : http://seps.flibuste.net with more than 650.000
hits/day

I used twisted to can use the jabber and telnet protocol.

--
Wilk - http://flibuste.net
Jul 18 '05 #3
Irmen de Jong wrote:
Hi,
Things like Twisted, medusa, etc.... that claim to be able
to support hundreds of concurrent connections because of the
async I/O framework they're based on....
can someone give a few examples of some web sites actually
using those Python frameworks?

Thanks :)

--Irmen

I don't know if it is of interested but it is my understanding
that Zope uses some version of Medusa and there are quite a few
"high volume" websites based on zope (see www.zope.com).

Larry Bates
Jul 18 '05 #4
Irmen de Jong wrote:
Hi,
Things like Twisted, medusa, etc.... that claim to be able
to support hundreds of concurrent connections because of the
async I/O framework they're based on....
can someone give a few examples of some web sites actually
using those Python frameworks?


What do you define as high volume? Different people have different
expectations here. I would say for example that high volume starts at
around 10-20 million requests per day, but even that is an order of
magnitude too low to *really* be viewed as high volume, _unless_ you're
only counting valid page impressions and not all web objects served.

That said at that level you're generally dealing with a server farm,
and no matter how big you think *your* site is, there's (almost) always
someone bigger *especially* IF you factor in web proxy systems as being
web server software as well.

Also do you mean python application systems on top of web servers or
python as the web server - sounds like the latter? (As far as I'm aware
the BBC don't use python in either area, but I could be wrong, but these
questions sprang to mind reading the responses you've had from others).

Regards,
Michael.
--
Mi************@rd.bbc.co.uk
British Broadcasting Corporation, Research and Development
Kingswood Warren, Surrey KT20 6NP

This message (and any attachments) may contain personal views
which are not the views of the BBC unless specifically stated.
Jul 18 '05 #5
Michael Sparks wrote:
Irmen de Jong wrote:

Hi,
Things like Twisted, medusa, etc.... that claim to be able
to support hundreds of concurrent connections because of the
async I/O framework they're based on....
can someone give a few examples of some web sites actually
using those Python frameworks?

What do you define as high volume? Different people have different
expectations here. I would say for example that high volume starts at
around 10-20 million requests per day, but even that is an order of
magnitude too low to *really* be viewed as high volume, _unless_ you're
only counting valid page impressions and not all web objects served.


I think he's talking about servers that server a higher-than-normal
number of simultaneous connections.

For instance, with Apache you can only serve as many connections as you
have processes or threads. By default, that usually leaves you with
maybe ten concurrent connections (with everyone else being queued), and
while you can bump that up considerably there's still a limit.

This works fine when requests are quickly completed, because you can
still serve a large number of requests even if only a small number of
concurrent request. But if the requests are long-running (e.g., a
telnet session) then you need to serve a large number of requests.
Because async frameworks don't have the overhead of multiple processes
or threads, they can potentially serve a large number of simultaneous
requests where other systems cannot.

--
Ian Bicking / ia**@colorstudy.com / http://blog.ianbicking.org
Jul 18 '05 #6
Ian Bicking wrote:
I think he's talking about servers that server a higher-than-normal
number of simultaneous connections.


Well, not necessarily so, but this is an even better description.
I was looking for web sites with moderate visitor counts
(where 'high' means Yahoo, Google, Cnn, and 'low' means a
200-user forum about automobiles) that are running on one of Python's
web application servers / network servers.

If it's a site that uses an async I/O framework, and it actually
does sustains the potential very large amount of simultaneous
connections, even better.
Actually, it doesn't even have to be a web site. A 10.000-user IRC
server in Python would also qualify :)

Why am I asking this?
Someone on a programming forum elsewhere was sceptical that you
can create high performance Python network servers.
I suggested Twisted or Medusa. He asked for example servers.
So there you are :)
Anyway I've got a few pointers from the replies already given.
Thanks!
--Irmen.
Jul 18 '05 #7

Irmen de Jong <irmen@-nospam-remove-this-xs4all.nl> wrote:

Ian Bicking wrote:
I think he's talking about servers that server a higher-than-normal
number of simultaneous connections.


Well, not necessarily so, but this is an even better description.
I was looking for web sites with moderate visitor counts
(where 'high' means Yahoo, Google, Cnn, and 'low' means a
200-user forum about automobiles) that are running on one of Python's
web application servers / network servers.

If it's a site that uses an async I/O framework, and it actually
does sustains the potential very large amount of simultaneous
connections, even better.
Actually, it doesn't even have to be a web site. A 10.000-user IRC
server in Python would also qualify :)

Why am I asking this?
Someone on a programming forum elsewhere was sceptical that you
can create high performance Python network servers.
I suggested Twisted or Medusa. He asked for example servers.
So there you are :)


Anyway I've got a few pointers from the replies already given.
Thanks!


Using a heavily customized variant of asyncore, I have written a client
that can handle 500 simultaneous connections (default file handle limit
with Python is 512) on a modern (1+ghz) processor. It is actually
limited by bandwidth and latency on our 100mbit connection, as the
protocol is fairly chatty.

We have benchmarked it (each command results in a delay of
.25/random.random() seconds, timeouts set at 30 seconds), and it comes
out to roughly 4.8 million of these connections per day on a single
processor (we are unsure if it scales running multiple processes on a
multiple processor machine, as 99% of the processor use is system-level
select.select() calls).

We are actually concerned with accidentally DOSing remote servers that
have less efficient server implementations.

Is that high enough volume?
- Josiah

Jul 18 '05 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

75
by: Howard Nease | last post by:
Hello, everyone. I would appreciate any advice that someone could give me on my future career path. Here is my situation: I am a bright Junior in a very well-respected private high school, taking...
0
by: Stephan Deibel | last post by:
Hi, O'Reilly Associates has agreed to print a second volume of Python Success Stories and I am looking for contributors of new stories. This booklet will showcase Python in the context of a...
8
by: Joakim Persson | last post by:
Hello all. I am involved in a project where we have a desire to improve our software testing tools, and I'm in charge of looking for solutions regarding the logging of our software (originating...
2
by: Arsen V. | last post by:
Hello, Did anyone have some experience with the following: 1) Need to track high volume of impressions - 20,000,000+ per day 2) Backend is SQL Server 2000 3) Webfarm of IIS with ASP.NET 4)...
5
by: Ron Mexico | last post by:
I have written a graphing engine (very similar to what BigCharts.com offers). Basically, it's an ASPX page that accepts parameters and calls back-end business objects (dlls) to create a graph. ...
1
by: Tommaso Caldarola | last post by:
I need to transfer big files (up to 10 Gb), now I'm using IIS via Remoting with chunk of bytes (up to 500Kb). In the following article: Middle-Tier Hosting: Enterprise Services, IIS, DCOM, Web...
2
by: =?Utf-8?B?RGFtZW9u?= | last post by:
Hi - I am attempting to write lines to a file at high volume, multiple threads. Here is my scenario: (initial "WriteToFile" object created via a parent multithreaded process, which receives...
34
by: Victor Kryukov | last post by:
Hello list, our team is going to rewrite our existing web-site, which has a lot of dynamic content and was quickly prototyped some time ago. Today, as we get better idea of what we need, we're...
1
by: mauriceling | last post by:
Hi everyone After a long wait of nearly 5 month, we are back in business to bring the latest edition of The Python Papers - Volume 3 Issue 2 (http://...
0
by: emmanuelkatto | last post by:
Hi All, I am Emmanuel katto from Uganda. I want to ask what challenges you've faced while migrating a website to cloud. Please let me know. Thanks! Emmanuel
1
by: nemocccc | last post by:
hello, everyone, I want to develop a software for my android phone for daily needs, any suggestions?
1
by: Sonnysonu | last post by:
This is the data of csv file 1 2 3 1 2 3 1 2 3 1 2 3 2 3 2 3 3 the lengths should be different i have to store the data by column-wise with in the specific length. suppose the i have to...
0
marktang
by: marktang | last post by:
ONU (Optical Network Unit) is one of the key components for providing high-speed Internet services. Its primary function is to act as an endpoint device located at the user's premises. However,...
0
by: Hystou | last post by:
Most computers default to English, but sometimes we require a different language, especially when relocating. Forgot to request a specific language before your computer shipped? No problem! You can...
0
tracyyun
by: tracyyun | last post by:
Dear forum friends, With the development of smart home technology, a variety of wireless communication protocols have appeared on the market, such as Zigbee, Z-Wave, Wi-Fi, Bluetooth, etc. Each...
0
agi2029
by: agi2029 | last post by:
Let's talk about the concept of autonomous AI software engineers and no-code agents. These AIs are designed to manage the entire lifecycle of a software development project—planning, coding, testing,...
0
isladogs
by: isladogs | last post by:
The next Access Europe User Group meeting will be on Wednesday 1 May 2024 starting at 18:00 UK time (6PM UTC+1) and finishing by 19:30 (7.30PM). In this session, we are pleased to welcome a new...
0
by: conductexam | last post by:
I have .net C# application in which I am extracting data from word file and save it in database particularly. To store word all data as it is I am converting the whole word file firstly in HTML and...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.