Monkey Development team is proud to announce our major milestone: Monkey 0.10.0 !!!
Introduction
Monkey HTTP Daemon is a very Fast and Lightweight Web Server for Linux. It has been designed to be very scalable with low memory and CPU consumption, the perfect solution for embedded and high production environments.
The project was started in 2001, internally it used to work with forking and threading networking models to attend clients, now, our current release 0.10.0 is one of our major milestone, we have a new web server working in asyncronous mode, fixed threads and with an excellent performance.
This version has been in development for the last two years, we have rewritten almost 85% of the old code and we have met our goals in a very
stable product
What’s new ?
- Asynchronous Server: No more blocking calls.
- New Pipelining request support
- New ‘Listen’ configuration directive: allow to restrict incoming
connection to a determinated network interface
- QA Packages: We have added a quallity assurance package which help us to
determinate if the server is working properly as expected, it has different
type of request and expect specific responses, also it checks the log files
for every QA request made
- Plugins Support: Now Monkey support Plugins, we have created a new API
which provides a very easy way to extend the behavior and features of the
server.
- Cheetah! Shell Plugin: This plugin add a command line interface (shell) to
Monkey!, it has been writen for debugging purposes, check workers status and
others.
- Security Plugin : It adds optional security rules to restrict the access
to the server
- Worker logger: A new worker is in charge to register the log entries, it
helps to reduce the I/O
- Configuration Files: The configuration structure has changed, now we have
a more organized configuration for global variables and virtual hosts
directives.
- A lot of minor bug fixes
Contributors
We would like recognize the contribution and help provided by the following
volunteers:
- Carlos Ghan
- Thorsten Schmale
- Niedobryjasiu
- Jonathan Gonzalez
- GreenFox
- Felipe Astroza
Join us!
We want to hear about you, our community is growing and you can be part of
it!, you can met us in:
Official Announcement: http://www.monkey-project.com/Announcements/v0.10.0
I would like to introduce a new plugin in Monkey 0.10.0 called Cheetah! . Cheetah is a shell for Monkey HTTP Daemon, it runs on demand if the plugin is specified in the plugins.load configuration file, please take a look to this simple screenshot:

So let’s see what it is and the current status:
- Aims to work like a plugin for Monkey HTTP Daemon loaded on demand
- Provides useful information about the configuration used for the server and virtual hosts defined
- Provides details about the workers running. At the moment just the OS PID assigned
- List plugins loaded and stages where each one is working or taking some action
- Show server uptime
Planned features for Monkey 0.11.0
- Show memory usage per worker thread
- Show basic statistics about current clients connected
- Reconfigure Monkey on fly, no more server restart when configuration files are modified
- Unload/Load plugins on fly
- Print reports for debugging purposes
- Work over unix pipe instead of Monkey STDIN
Today I got an email from the OLPC mailing list from Jim Gettys, he’s leaving the project:
I too am sad to be leaving the project; but there many, many kids who
will be benefiting. I’ve learned a lot, and made friends all over the
world.
I may be involved in some form as a volunteer in the future but in the
near term I also need to focus on finding employment. You know where to
find me.
Thank you all for your efforts; millions of kids benefit…
- Jim
He did a lot of GREAT contributions, thanks for your help…
if you want to read about him go here
P.S: Do you know that he’s one of the main author of the X Window System ?
I decided to work on my free time as a Freelancer developer/sysadmin, I will be available to do task related to:
- Software Architect
- C (sockets, threads, epoll, scalability, etc)
- PHP
- Python
- GTK+
- MySQL/PostgreSQL
- Linux sysdamin
If you need somebody with this skills contact me using the information found in the About Page
—
He decido trabajar en mi tiempo libre como Freelancer (desarrollador y sysadmin), estare disponible para realizar tareas relacionadas con:
- Software Architect
- C (sockets, threads, epoll, scalability, etc)
- PHP
- Python
- GTK+
- MySQL/PostgreSQL
- Linux sysdamin
Si necesitas a alguien con estos skills puedes contactarme a traves de la informacion del About Page
The last months , have been a hard work time refactoring the monkey source code, almost the 80% of the source code have been rewritten and now we can see some real numbers about how the performance of our development version, future release 0.10.0 is doing : just really rocking !
I’ve done a simple benchmark using the Apache Benchmark utility on my laptop which hardware is an Intel Celeron M 1.6GHz, 750MB RAM:
ab -n 50000 -c 20 http://127.0.0.1:2001/linux.jpg
linux.jpg is a file of 202177 bytes (202KB) which is requested 50000 times using 20 concurrent request,

These are really good news, Monkey 0.9.2 handle 469.65 request per second for file linux.jpg versus the GIT version which handle 1633.96 per second, at this moment the new Monkey is almost 70% more faster and scalable than older versions. The big changes made that make possible get this excellent performance are based in the new way to handle the network connections using epoll() + threads and better memory management.
Still there’s a lot of things to do, if you will like to contribute contact us!, join us to our maling list:
http://groups.google.com/group/monkeyd
see you around!
This Saturday 29th, I’ll be giving a talk about the Monkey HTTP Daemon project in EON 2008,I’ll cover topics as HTTP, internal architecture, scalability, benchmarks and different kind of techniques to get better performance when developing applications under Linux.
People and future colaborators interested are welcome to attend, see you there!

Next saturday 25th of the current month, as every year after the National Linux Meeting in Chile, the famous Gnome Day will take place in the Concepción University , but this time it will be part of the GNOME Latin American Tour 2008!, this cool event will bring you international and locals contributors of the Gnome Project where you will enjoy talks about Art work, development tools, image processing, quality assurance and others. You can see the full program on this page.

If you are curious about how to be part of Gnome and how to contribute, this is your chance, go to http://registro.gnome.cl/ and register/participate for free, there’s no cost associated.
See you there!
In October 23th and 24th will take place the 9th National LInux Conference in Chile in the Concepción University of Chile. In this year the international expositors are Ivan Krstic (ex-OLPC), Sulamita Garcia (Intel & Linuxchix) and Patrick Sinz (Mandriva). It will be an interesting time to attend their speech and learn about their experiences.
Every year this conference is a great opportunity to meet new people and talk with old geek friends, share ideas and create new crazy things, if you have the time to attend… just do it!, this year the event will rock!

This year I will be giving an interesting, fun and motivational talk called “Monkey HTTP Daemon – Un servidor web de alto rendimiento”. In 2001 I started to write a web server just for Linux, with supported features as CGI, PHP, Multithread, etc. Seven years later I’ve rewritten around 75% of the original code, now it support new technologies and cool features, a new community is growing around it, new designers has contributed with cool artwork and the server include a new “networking model” which allow to handle thousands of clients per second but reducing the hardware resources consumption.
HTTP users increase every day, new ideas need to be developed and efficient code made, you can be part of this change. If you want to share your ideas before the talk/speech, just send me an email…
see you there!
CrossOver Chromium is a Mac and Linux port of the open source Chromium web browser. CrossOver Chromium is available for download from CodeWeavers, free of charge:
http://www.codeweavers.com/services/ports/chromium/