• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 335
  • Last Modified:

Why event-based web server softwares use timers?

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
BitHunt
Asked:
BitHunt
  • 5
  • 3
1 Solution
 
gheistCommented:
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
 
BitHuntAuthor Commented:
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
 
gheistCommented:
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
Managing Security & Risk at the Speed of Business

Gartner Research VP, Neil McDonald & AlgoSec CTO, Prof. Avishai Wool, discuss the business-driven approach to automated security policy management, its benefits and how to align security policy management with business processes to address today's security challenges.

 
BitHuntAuthor Commented:
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
 
gheistCommented:
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
 
BitHuntAuthor Commented:
It is related to a web server software's architecture and i asked about the some details (analyzing the source code of nginx) ,
0
 
gheistCommented:
How long is your programming experience?
For education i suppose thttpd or NCSA webserver is a good choice to look at.
0
 
gheistCommented:
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
 
DhaestCommented:
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: ZipGrep

ZipGrep is a utility that can list and search zip (.war, .ear, .jar, etc) archives for text patterns, without the need to extract the archive's contents.

One of a set of tools we're offering as a way to say thank you for being a part of the community.

  • 5
  • 3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now