server performance analysis php script

Cancelled Posted Sep 1, 2010 Paid on delivery
Cancelled Paid on delivery

I need you to come up with as many tests as possible to test the quality of the server my script is on. Here are some brain storm examples. If you want the job you should suggest similar high level examples. The goal of this script is to test the amount of time it takes to run a particular task in sequantial and random order. You should use microtime to test each task and then present a table for each task. You should design this script to let me as the user set the number of "iterations" the script should run, with the default number being 10000. Here are some ideas for the script and the tests you can do. In your bid you should write the tests you will do or can do, or what else you propose. If you have the knowledge base I would prefer that each test is a "plugin" test object class that we can easily disable or enable on a "Configure Test" page which I can select which tests to run and the test duration. Make the program smart and detect the maximum script size in [url removed, login to view] so that you don't fail the tests before you start them and revise test file sizes according to the [url removed, login to view] limit.

## Deliverables

0) Assume the server you are deploying this on may have none of the functions you need. This means doing an initial sanity check and skipping tests that cannot be done. Examples include missing imagemagick libraries, missing gzip libraries, missing curl, disabled file_get_contents or file_put_contents. Assume you are writing for both a windows or linux environment and program to work on both.

1) Write a file with random data using file_put_contents to a random tmp file. There should be multiple tests with file sizes ranging in size from 1mb to 10megabytes in 1megabyte increments

2) Create a random files varying in size from 1 to 100mb in 20 megabyte increments. Time the operation

3) Read each of the random files created in step two into a variable using file_get_contents.

4) Unlink each of the random files created. Time the unlinking speed.

5) Create image files from 100x100pixel files in size to 5000x5000 pixels in size. The files could contain random noise and pixel data to generate large PNG files. Repeat this test for JPG. Generate files according to the number of cycles allocated. Time the process of generating the image. Time the process of writing the image to disk separately. Time the unlink speed separately.

6) Try to generate image files with random data using image magick. Use the same logic as in step five.

7) Do multiplication operations of random big integers and floats and time the results.

8) Same as step seven, repeat for subtraction, division, addition.

9) Check DNS resolution speed. Make a sequential curl request to the top 100 sites on [url removed, login to view] (list is free to download) and calculate the time it took from start to finish to download the homepage. Use something like gethostbyname for ip resolution timing. Output the average lookup speed

10) Check the ping speed by pinging the top 100 sites on alexa.com. Take the average ping speed and output it as the result.

11) Write a random text file with random letters to the temp with 10, 50, 100 megabytes of data. Then try to run gzip and tar externally to compress the random text file to a tar and gz file with maximum compression level 9

12) Do bandwidth speed tests by downloading files from the internet to dev null

13) Test the amount of time it takes to copy a text file of 1, 10, 100 megabytes from a source to a destination many times.

14) Test the amount of time it takes to copy a binary file like an image or zip from a source to a destination many times.

15) Convert a video using ffmpeg to FLV format and time how long it takes.

16) Test how long it takes to serialize and unserialize a very large array many times.

17) Test server load average while all of these tests are occurring.

18) Get the total amount of time it took to run these tests for all the tests.

19) Figure out a way to compile this php script into a read-only encrypted file so the source code would be obfuscated, maybe zend encoder or a free alternative.

The output should have the name of the test in the first column. The test parameters in the second column. And the duration of the test in the third column. Each test should have its own row.

1) All deliverables will be considered "work made for hire" under U.S. Copyright law. Employer will receive exclusive and complete copyrights to all work purchased. (No GPL, GNU, 3rd party components, etc. unless all copyright ramifications are explained AND AGREED TO by the employer on the site per the worker's Worker Legal Agreement).

2) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.

3) Deliverables must be in ready-to-run condition, as follows (depending on the nature of the deliverables):

a) For web sites or other server-side deliverables intended to only ever exist in one place in the Employer's environment--Deliverables must be installed by the Worker in ready-to-run condition in the Employer's environment.

b) For all others including desktop software or software the employer intends to distribute: A software installation package that will install the software in ready-to-run condition on the platform(s) specified in this project.

## Platform

php 5.2 and php 5.3 make sure you develop with E_ALL on and display_errors=on payment will not be released until there are no warnings, errors, etc.

MySQL PHP Software Architecture Software Testing Web Hosting Website Management Website Testing

Project ID: #3694443

About the project

1 proposal Remote project Active Sep 5, 2010

1 freelancer is bidding on average $680 for this job

softtechent

See private message.

$680 USD in 5 days
(1 Review)
3.6