Bug report : pts/apache 1.4.0 and 1.5.0 : fails to check that HTTP status is 200
I've run the pts/apache-1.4.0 and pts/apache-1.5.0 on CentOS, running the phoronix test suite 4.0.1 as root.
I got some low numbers, so I decided to check log files.
I look at :
In access log all the lines are like this :
::1 - - [04/Nov/2012:12:40:38 +0100] "GET /test.html HTTP/1.0" 403 211
In error log for 1.4.0 I see lines like this :
[Sun Nov 04 12:27:32 2012] [error] [client ::1] (13)Permission denied: access to /test.html denied
In error log for 1.5.0 I see lines like this :
[Sun Nov 04 12:24:52.924836 2012] [core:error] [pid 126619:tid 140190024742656] (13)Permission denied: [client ::1:38414] AH00035: access to /test.html denied (filesystem path '/root/.phoronix-test-suite') because search permissions are missing on a component of the path
I tried to turn of SElinux enforcement, although I did not see any violations, but it did not help.
When I run as "non-root", the apache test works fine.
I have not managed to find out why this error occurs, but I wanted to report it now, so you can add some more verification of apache testing.
But I think that the apache test result "validation" by pts needs to be enhanced, you should check that the requests has been processed with a "http 200 status code".
As it is now, there is a risk that people see and report apache benchmark numbers that are not relevant, because they are all 403 Forbidden responses.
You might want to parse the output of "ab" better, here is the output when running ab from command line manually :
Document Path: /test.html
Document Length: 211 bytes
Concurrency Level: 2
Time taken for tests: 0.005 seconds
Complete requests: 10
Failed requests: 0
Write errors: 0
Non-2xx responses: 10
Total transferred: 3880 bytes
HTML transferred: 2110 bytes
Requests per second: 2012.88 [#/sec] (mean)
Time per request: 0.994 [ms] (mean)
Time per request: 0.497 [ms] (mean, across all concurrent requests)
Transfer rate: 762.69 [Kbytes/sec] received
You can either check that the document length matches the length of the "test.html" file you request, or you can check the "Non-2xx responses: 10", this should be 0, or at least a very log percentage numbers compared to the totalt number of requests.