Why event-based web server softwares use timers?

Posted on 2011-03-13
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
Question by:BitHunt
  • 5
  • 3
LVL 61

Accepted Solution

gheist earned 500 total points
ID: 35127861

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.

Author Comment

ID: 35165208
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) ?
LVL 61

Expert Comment

ID: 35165420
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.

Author Comment

ID: 35165896
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:
PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

LVL 61

Expert Comment

ID: 35166422
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...

Author Comment

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

Expert Comment

ID: 35180286
How long is your programming experience?
For education i suppose thttpd or NCSA webserver is a good choice to look at.
LVL 61

Expert Comment

ID: 35688502
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.
LVL 53

Expert Comment

ID: 35759370
This question has been classified as abandoned and is closed as part of the Cleanup Program. See the recommendation for more details.

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
firstswap challenge 20 67
listing all functions in JavaScript 19 178
MacOS and programming in React 7 28
Apache/PHP: Cannot make phpinfo() and phpmyadmin work 4 35
Whether you've completed a degree in computer sciences or you're a self-taught programmer, writing your first lines of code in the real world is always a challenge. Here are some of the most common pitfalls for new programmers.
Whether you’re a college noob or a soon-to-be pro, these tips are sure to help you in your journey to becoming a programming ninja and stand out from the crowd.
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 …
In this fifth video of the Xpdf series, we discuss and demonstrate the PDFdetach utility, which is able to list and, more importantly, extract attachments that are embedded in PDF files. It does this via a command line interface, making it suitable …

920 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

15 Experts available now in Live!

Get 1:1 Help Now