I know it is small and simple...
Webservers like Hiawatha, NginX, Lighttpd are capable of serving 20.000 requests a second.
How does Atomic compare ? Is it real or pseudo non blocking ?
Has anyone improved or extended Atomic (withouth threads) to cope with huge amounts of traffic ?
Anyone written a custom webserver in PB with the TCP library ?
Has anyone benchmarked Atomic Webserver ?
Re: Has anyone benchmarked Atomic Webserver ?
Atomic web server is a small demo program, it's not intended to be used in production or benchmarked !
Re: Has anyone benchmarked Atomic Webserver ?
That's why I asked if anyone has impoved or extended the code to make it usable for production !Fred wrote:Atomic web server is a small demo program, it's not intended to be used in production or benchmarked !
- RichAlgeni
- Addict

- Posts: 935
- Joined: Wed Sep 22, 2010 1:50 am
- Location: Bradenton, FL
Re: Has anyone benchmarked Atomic Webserver ?
I have a multi-threaded web server written in PB, it serves markers for Google map pages. The fastest I have been able to achieve is 12000 1k byte pages per minute. That's with reading random files, never reading the same file twice. I could probably tweak it a bit more, but any faster and I start getting incomplete pages sent.
What's funny, at least in my mind, is that it never goes over 2% of the CPU used, and maxes out at about 12 MB memory used. That's a credit to PB.
Think about 20,000 per second: is that the same page over and over, so that it's always in memory? How big is each page? If it's 1k bytes, that means it's serving 20,000,000 bytes, or 200 megabits per second. That's maxing out a full duplex 100 mb card.
I don't doubt it could happen, but I'd like to know their exact setup.
What's funny, at least in my mind, is that it never goes over 2% of the CPU used, and maxes out at about 12 MB memory used. That's a credit to PB.
Think about 20,000 per second: is that the same page over and over, so that it's always in memory? How big is each page? If it's 1k bytes, that means it's serving 20,000,000 bytes, or 200 megabits per second. That's maxing out a full duplex 100 mb card.
I don't doubt it could happen, but I'd like to know their exact setup.
Re: Has anyone benchmarked Atomic Webserver ?
Rich,
I am very interested in the code for this threaded server...
Does each request have its own thread, or do you use like 100 non blocking threads to split the workload ?
Most requests will be around 4k - 8k each
I am very interested in the code for this threaded server...
Does each request have its own thread, or do you use like 100 non blocking threads to split the workload ?
Most requests will be around 4k - 8k each
- RichAlgeni
- Addict

- Posts: 935
- Joined: Wed Sep 22, 2010 1:50 am
- Location: Bradenton, FL
Re: Has anyone benchmarked Atomic Webserver ?
Right now I create a new thread for each request, but I already have plans to create static threads to do some of the more common tasks.

