Your SlideShare is downloading. ×
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Eduardo Silva - monkey http-server everywhere
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Eduardo Silva - monkey http-server everywhere

8,917

Published on

Published in: Technology
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
8,917
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
15
Comments
0
Likes
2
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. MonkeyHTTP Server everywhereEduardo Silva ( edsiper )edsiper@monkey-project.comJonathan Gonzalez ( Zeus )zeus@gnu.org
  • 2. < Project Goals >● Community !● Embedded in mind● Small core / Lightweight● Fast● Flexible API● Linux Kernel
  • 3. < General Features >● HTTP/1.1● Events oriented (async sockets)● Indented configuration● Ready for Embedded
  • 4. < Hardware Support > ● x86 ● x64 ● ARM
  • 5. < HTTP Client/Server Flow >
  • 6. < Monkey Architecture >
  • 7. Indented Configuration
  • 8. < WORKERS > ● Scheduler ● Clock
  • 9. < Worker: Scheduler > “Assign new client connection to a worker thread...”
  • 10. < Worker: Scheduler >
  • 11. < Worker: Clock > “Keep in a global variable the current unix time and also a human readable time format as required per HTTP protocol...”
  • 12. < Worker: Clock >
  • 13. < Layer Models >● OSI : O. System Inter 7 layers● TCP/IP : Internet 4 layers● MOL : Monkey Layers 3 layers
  • 14. < Monkey Layers >
  • 15. < Layer / Networking > “Expose connectivity capabilities, in a few words: sockets support...”
  • 16. < Layer / Networking >
  • 17. < Layer / Events > “Expose hooks for socket events...”
  • 18. < Layer / Events >
  • 19. < Layer / Stages > “Specify the cycles of an HTTP connection and expose hooks for them...”
  • 20. < Layer / Stages >
  • 21. Plugins
  • 22. < Logger Plugin >
  • 23. < Logger Plugin >
  • 24. < Mandril Plugin > Security
  • 25. < Mandril Security Plugin >
  • 26. < Liana Plugin > Connectivity
  • 27. < Liana Plugin >
  • 28. SSL ?
  • 29. ...Yes!using MatrixSSL
  • 30. < Liana SSL Plugin >
  • 31. Liana 6IPv6 Support
  • 32. < IPv6 Plugin >
  • 33. HTML5Web Sockets
  • 34. < WebSockets Plugin >
  • 35. Palm Plugin & App Server
  • 36. < Palm Plugin & App Server >
  • 37. < Benchmark >
  • 38. < Benchmark > Apache Benchmark Archivo : 100 bytes NginX : v1.0 port = 2002 Cherokee : v1.2.2 port = 2003 Apache2 : v2.2.17 port = 80 Monkey : v0.14.0 port = 2001 ab -n 15000 -c 20 -k http://localhost/100b.txt
  • 39. < Requests/Second > 30000 25000 20000 15000 Requests/Second 10000 5000 0 Monkey NginX Cherokee Apache
  • 40. < Memory Usage > 1600 1400 1200 1000 800 Uso de Memoria 600 400 200 0 Monkey NginX Cherokee
  • 41. < List of features>● HTTP/1.1 ● Basic Auth● Virtual Hosts ● Directory Listing● IPv4 & IPv6 ● CGI / Palm● SSL ● Websockets● Security ● Shell● Log writer
  • 42. < To Do List > ● FastCGI ● NoSQL ! ● URL Rewrite ● Improve Docs!
  • 43. < Get Involved ! > ● Community ● Beta Testers ● Art Work ● Documentation ● Coding
  • 44. Q&AEduardo Silva ( edsiper ) Jonathan Gonzalez ( Zeus)edsiper@monkey-project.com zeus@gnu.org

×