How to quickly stress test a web server Rumi, November 13, 2017 The Curl syntax allows you to specify sequences and sets of URL’s. Say for example we’re going to run a load stress test against Google we can run… curl -s "http://google.com?[1-1000]" This will make 1000 calls to google i.e. http://google.com?1 http://google.com?2 http://google.com?3 \... http://google.com?1000 So say you want to stress test your web application and it won’t complain if it’s fed an extra parameter, 10,000 calls could be done something like. curl -s "http://yourappp.com/your_page_to_test.php?[1-10000]" Multiple Pages, easy just add each page to the command line. curl -s "http://yourapp.com/page1.php?[1-1000]" "http://yourappp.com/page2.php?[1-1000]" Or even… curl -s "http://yourapp.com/page{1, 2}.php?[1-1000]" Timing Using the time command we can get a view on our performance time curl -s "http://yourapp.com/page{1, 2}.php?[1-1000]" real 0m0.606s user 0m0.009s sys 0m0.008s Simulating consecutive users OK, this is great for sending a whole bunch of calls one after the other but what about simultaneous calls. For this we can place the Curl calls in a script and set them running in the background. i.e. my_stress_test.sh curl -s "http://yourapp.com/page{1, 2}.php?[1-1000]" & pidlist="$pidlist $!" curl -s "http://yourapp.com/page{1, 2}.php?[1-1000]" & pidlist="$pidlist $!" curl -s "http://yourapp.com/page{1, 2}.php?[1-1000]" & pidlist="$pidlist $!" curl -s "http://yourapp.com/page{1, 2}.php?[1-1000]" & pidlist="$pidlist $!" curl -s "http://yourapp.com/page{1, 2}.php?[1-1000]" & pidlist="$pidlist $!" curl -s "http://yourapp.com/page{1, 2}.php?[1-1000]" & pidlist="$pidlist $!" curl -s "http://yourapp.com/page{1, 2}.php?[1-1000]" & pidlist="$pidlist $!" for job in $pidlist do echo $job wait $job || let "FAIL+=1" done if [ "$FAIL" == "0" ]; then echo "YAY!" else echo "FAIL! ($FAIL)" fi Then run time my_stress_test.sh Caveats This does not simulate user behaviour exactly as the browser is not only downloading the page but all attached images, javascripts, stylesheet etc. You could simulate this too by adding the URL’s to the url command. Src: http://servermonitoringhq.com/blog/how_to_quickly_stress_test_a_web_server Related Scripts Load TestStress Test
Tweaking Afterlogic Webmail Pro 6 November 6, 2011 Removed the default footer texts and added up usermin module like this 😉 in inc.footer.php file- <!– Powered by <a href="http://www.afterlogic.com/products/webmail-pro" target="_blank"> AfterLogic WebMail Pro</a><br /> Copyright © 2002-2010 <a href="http://www.afterlogic.com" target="_blank">AfterLogic Corporation</a> –> <?php $domain= $_SERVER['SERVER_NAME']; echo ":: CLICK BELOW LINK TO :: <BR /> <a href= https://$domain:20000>Change Password… Read More
osTicket Automated Install Script December 13, 2021 osTicket is one of the leading open source ticketing systems. Here’s an easy way to spin up an instance on Ubuntu. Note: This script is purely intended for use in short-lived demo systems. The passwords are obvious (password !?) and there is no hardening applied to any of this system…. Read More
Bash Script To Restart Linux Server Services December 21, 2021 Here’s the command line code to create the file in nano: sudo nano /opt/launch-crashed-services.sh Here is the bash script. #!/bin/bash service mysql status | grep ‘active (running)’ > /dev/null 2>&1 if [ $? != 0 ] then sudo service mysql restart > /dev/null fi service nginx status | grep ‘active… Read More