Solved

Why event-based web server softwares use timers?

Posted on 2011-03-13
13
300 Views
Last Modified: 2012-05-11
I can guess that timers in web servers can be used to specify expired connections and close them when they are expired but I can't totally understand why minimum timers  are  important in an event driven (asynchroneous) web server other than that? How timers and events associated in the cycle of the processing of the events which is for example  shown in the image below? Nginx events processing
0
Comment
Question by:BitHunt
  • 5
  • 3
13 Comments
 
LVL 61

Accepted Solution

by:
gheist earned 500 total points
Comment Utility
http://www.kegel.com/c10k.html

Timers are used because server should not process a client request for too long. Shortest (minimum) timer is about the event which is about to expire first, so we use breath we have for processing now to start processing soon-to-come event and sleep until it.
I would assume that each timer event matches socket request or file handle request.

If you read through article mentioned you see that efficiency of event-based server depends on efficiency of event queue implementation.
0
 

Author Comment

by:BitHunt
Comment Utility
Thank you for your answer but in the recommended web page it doesn't mention  timers.
I still have questions in my mind like as it is shown in the image why nginx finds minimum timer? what does it mean? what does waiting for the timer mean (does it assign some amount of time to every event in the event loop, if so what happens after processing each event for a specific amount of time and  which events will have minimum timer) ?
0
 
LVL 61

Expert Comment

by:gheist
Comment Utility
Please re-read my comment and read comments in timers code of nginx.
Link is to give you bigger picture of software architecture.
No more from me unless you credit source of your PNG files.
0
 

Author Comment

by:BitHunt
Comment Utility
The PNG is from Nginx Internals by Joshua Zoe it is not a student homework or etc. It is the only architectural document that i found about nginx in English which is shared by everybody  . I'm curious about web servers and want to learn the most efficient one's internals. I'll re-check the source code but there wasn't much information in the source code  that is why I end up asking questions to learn about event based web servers.

PNG from:
 http://www.slideshare.net/joshzhu/nginx-internals
0
How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

 
LVL 61

Expert Comment

by:gheist
Comment Utility
I thought it was Zeus or IIS...
BTW  how long you learn programming and how long C or C++ ???

PS I ask mods to shuffle topic areas so you get more help on understanding software architecture in general.
PPS if you ever got to OS architecture course you might get the almost obvious idea that minimum timer is one to fire first...
0
 

Author Comment

by:BitHunt
Comment Utility
It is related to a web server software's architecture and i asked about the some details (analyzing the source code of nginx) ,
0
 
LVL 61

Expert Comment

by:gheist
Comment Utility
How long is your programming experience?
For education i suppose thttpd or NCSA webserver is a good choice to look at.
0
 
LVL 61

Expert Comment

by:gheist
Comment Utility
Delete without refund.
1st comment gives as high-level answer as possible given blurry question, rest just figures out that asker does not have ide what She/He exactly wants.
0
 
LVL 53

Expert Comment

by:Dhaest
Comment Utility
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
0

Featured Post

How to improve team productivity

Quip adds documents, spreadsheets, and tasklists to your Slack experience
- Elevate ideas to Quip docs
- Share Quip docs in Slack
- Get notified of changes to your docs
- Available on iOS/Android/Desktop/Web
- Online/Offline

Join & Write a Comment

If you don't have the right permissions set for your WordPress location in IIS, you won't be able to perform automatic updates. Here's how to fix the problem.
Does the idea of dealing with bits scare or confuse you? Does it seem like a waste of time in an age where we all have terabytes of storage? If so, you're missing out on one of the core tools in every professional programmer's toolbox. Learn how to …
An introduction to basic programming syntax in Java by creating a simple program. Viewers can follow the tutorial as they create their first class in Java. Definitions and explanations about each element are given to help prepare viewers for future …
Viewers will learn how to properly install Eclipse with the necessary JDK, and will take a look at an introductory Java program. Download Eclipse installation zip file: Extract files from zip file: Download and install JDK 8: Open Eclipse and …

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

13 Experts available now in Live!

Get 1:1 Help Now