For 2023 (and 2024 ...) - we are now fully retired from IT training. We have made many, many friends over 25 years of teaching about Python, Tcl, Perl, PHP, Lua, Java, C and C++ - and MySQL, Linux and Solaris/SunOS too. Our training notes are now very much out of date, but due to upward compatability most of our examples remain operational and even relevant ad you are welcome to make us if them "as seen" and at your own risk.
Lisa and I (Graham) now live in what was our training centre in Melksham - happy to meet with former delegates here - but do check ahead before coming round. We are far from inactive - rather, enjoying the times that we are retired but still healthy enough in mind and body to be active!
I am also active in many other area and still look after a lot of web sites - you can find an index ((here)) |
A simple server benchmark script
Here's one of those examples where I found myself illustrating so many interesting features of PHP in one piece of code that I almost lost count!
<?php
# Web Site performance test page
if ($_REQUEST[pub] == "magpies") {
$wowser = `ab -n100 -c5 http://www.example.net/robots.txt`;
header("Content-type: text/plain");
print ($wowser);
exit();
}
?>
<html>
<body>
<h1>Under Construction</h1>
You wanted it WHEN?
</body>
</html>
1. The use of back quotes to run an operating system command.
2. The use of the ab program to benchmark another system / web2 techniques.
3. The ability to output different content types dependent on inputs.
 4. The use of a "sequence diagram" to show what's actually going on in a piece of code.
5. exit to leave a PHP script in the middle of the code.
6. A case of "security through obscurity" - the way that the script will only run the real application it contains if the user adds a certain parameter to the command line.
Downloadable copy of the source - [here].
On the main subject line of this being a simple benchmark script ... it's a VERY simple one; it just prods a server with lots of requests for the same page (100 requests, 5 concurrent) and should be run with care and the results should be taken with a large pinch of salt. If you're going to run something like this, run it on a different machine to the one you're testing, but one that has plenty of bandwidth, and do it at a quiet time of day initially.
If you're looking for a more realistic load test mechanism, try Jmeter. Although it's written in Java, it can test any server. See [here] for an article I wrote on that a while back.
(written 2010-04-27)
Associated topics are indexed as below, or enter http://melksh.am/nnnn for individual articles H300 - PHP Revision [1615] PHP training courses every month - (2008-04-18) [1787] Howto - write and manage a news box on your web page - (2008-09-06) [3952] PHP revision ... by example. - (2012-12-15) [3953] Objects in PHP - Revision - (2012-12-16) [4050] A couple of new fast-start PHP examples - (2013-03-21)
Some other Articles
Model - View - Controller demo, Sqlite - Python 3 - Qt4Connecting Python to sqlite and MySQL databasesPyQt (Python and Qt) and wxPython - GUI comparisonPublic Open Source Training Courses running this summer and autumn in MelkshamA simple server benchmark scriptWhat is a factory?Melksham Hustings at George Ward SchoolMelksham ScoutsWhat is all this SESSION stuff about? (PHP)Improving your function calls (APIs) - General and PHP
|
4759 posts, page by page
Link to page ... 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96 at 50 posts per page
This is a page archived from The Horse's Mouth at
http://www.wellho.net/horse/ -
the diary and writings of Graham Ellis.
Every attempt was made to provide current information at the time the
page was written, but things do move forward in our business - new software
releases, price changes, new techniques. Please check back via
our main site for current courses,
prices, versions, etc - any mention of a price in "The Horse's Mouth"
cannot be taken as an offer to supply at that price.
Link to Ezine home page (for reading).
Link to Blogging home page (to add comments).
|
|