Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re: Can your site handle this?

by sundialsvc4 (Abbot)
on Nov 07, 2011 at 21:41 UTC ( [id://936585]=note: print w/replies, xml ) Need Help??


in reply to Can your site handle this?

Well, interestingly enough, the answer should always be “yes.”

You can never predict from moment to moment what workload might be presented to your servers ... whether that load is coming from 128 processes who are beating themselves senseless trying to persuade their host-server to thrash itself to death, or by 128 excited would-be customers who are trying to give you their credit-card numbers.   (Example:   ticketmaster.com during the first ten minutes of sales for the next Rush concert.)

As with every possible workload that a computer system could be presented with for any reason at all, the receiving system must be the one to parcel out its own capacity, such that it never permits itself to be overloaded no matter what the instantaneous request-pattern may be.   (“The rest of you will have to wait in line outside in order to get your turn to enter the building ... and if some of you drive away, c'est la guerre.”)

To say that “Plack is the answer,” though, is really not a complete statement.   Plack is only part of a potential answer.   A true high-load system must not only be able to regulate the number of users (IP addresses) who are permitted to “visit a web page,” but it must also separately control how many units-of-work can be generated for subsequent processing by the back-end systems.   It must maintain effective load-control and load-balancing, not only for the “user interface” (the web-pages), but also for the actual pay-load (e.g. ticket selection, sales, and disbursement).   There are multiple overlapping workload-servicing queues in play here, and the entire design of the system must be thoroughly considered.

It is interesting also to note that the underlying technology of Plack can be useful in many ways when designing a system like that:   it’s a pretty darned good “glue,” not only for connecting an HTTP server to a page-delivery engine, but also (separately, of course ...) for plumbing a page-delivery engine to a back-end server system.   It is a well-thought out and well-tested delivery manager, provided that the payload you are exchanging can be caused to conform to the data-format which Plack uses.   (Easily done.)

Replies are listed 'Best First'.
A reply falls below the community's threshold of quality. You may see it by logging in.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://936585]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others having an uproarious good time at the Monastery: (3)
As of 2024-04-20 01:49 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found