|
Troubleshooting | Top |
Step 1: Testing mod_benchmark Apache module
-
Using your favorite browser, navigate through any location handled by mod_benchmark
(this location should correspond to a <Location> block
where the "BenchmarkEngine" directive is "on" and the "BenchmarkAccept"
directive filters the requested URI)
-
Look in the activated archivers (logfile, database or benchmark_rt program)
if a new item has been inserted for each request:
-
for log files, check if new lines are append for each request
-
for database, check if a new row is inserted for each request in the "t_benchmark_log" table,
-
with benchmark_rt, send a USR1 signal and consult the dump file.
If nothing has bee produced, check the error logs (Apache, MySQL, system...) and fix the bug.
Step 2: Testing the Control Panel
If you plan to use the Database logging mechanism, you can extract statistics from it using the "Control Panel".
-
Still with your browser navigate to the newly created "benchmark" subdirectory.
-
If your Apache server is configured to automatically return the "index.html"
file, you will see the control panel, otherwise, click on "index.html" file
-
The Control Panel should be displayed without any PHP/Perl error.
Use the default values except for the "Duration": select the "one Hour" scale.
Click on "Get Report" menu option.
-
A graph should appear in the right pane of the Control Panel !!! Congratulations.
Otherwise, there is a Database or PHP/Perl misconfiguration.
The error message should be explicit enough, but you can consult the sections below.
Common Errors
This section lists the common mistakes and pitfalls that users have encountered.
Do not hesitate to send us feed-back about your own problems so that you could extend this section.
- Installation Problems
-
Usually, compilation problems can be solved by setting the appropriate arguments
to the ./configure command.
Especially, do not forget to precise the Include directory of the Database library using
the --with-XXXXdir=[...] and --with-XXXXlib=[...] options.
- Apache Errors
-
Apache hangs at startup time. This can appear in the following situation:
-
the directive BenchmarkWithStatProg in "on"
-
the previous instance of Apache Server has not been properly shutdown and thus
some lock files still remain !
In such case, remove the benchmark.* files located under the directory specified with the
BenchmarkWithStatProg directive.
For example, if the directory is /tmp, you should find and remove the following files:
- /tmp/benchmark.lck1
- /tmp/benchmark.lck2
- /tmp/benchmark.pid
- /tmp/benchmark.dump
-
Apache does not start because the listen TCP ports are already busy ?
This is probably caused by a failure of the instance which launched the "sysstat2" program. Use the "killall" command to stop
this program.
-
Generally speaking, if you experience too frequent problems at launch-time, you can add the following lines in
the Apache startup script (usually /etc/init.d/httpd):
rm -f /tmp/benchmark.*
killall -9 sysstat2 benchmark_rt
-
When errors occur when Apache is restarted, check the "rcapache.log" file or the
Apache error log file.
-
If you use the Database interface, make sure the C Library for the Database Client can be
located by the loader
-
Check Apache could load the ".so" modules.
The test can be done by statically linking with the ".so" and check the linker errors.
-
Comment the "Benchmark" directive in the Apache Configuration file and restart.
Uncomment directives one per one to find the wrong one.
- Runtime Errors
-
The Database Tables are not filled when a Request is made to a benchmarked URL ?
Check the "Benchmark" directives
-
If Database problem persist, check the Database error log.
Database interfaces have been coded to write the Database errors in Apache "stderr" file.
-
"write error in msgqueue..." error message appears many times in Apache error log:
when the server is overloaded, the benchmark_rt process cannot handle the statistics written in the
queue by mod_benchmark fast enough. The queue becomes full !
To avoid this error and lose some stats, you can increase the maximum message queue size located
in /proc/sys/kernel/msgmnb.
- Control Panel Errors
-
Check Apache has the good access rights to the "benchmark" directory
-
Check content of globals.inc.php file
-
Make sure your Browser supports SVG format !
|
 |