Hi, I just wanted to clarify/discuss some questions I have about the
performance of OTRS on a machine I have it installed on. I don't know
a lot about optimizing web servers / mod_perl for performance thus I
am hoping you can give me some advice. I have already read some of the
'Performance Tuning' and have implemented some of the changes.
The machine I am using is a very old Sun Cobalt Raq XTR server with
only 256 MB of RAM and CentOS 4 on it. There are 2 hard drives in it
running a software RAID 1 mirror. I would like to upgrade the RAM but
I don't think it will be possible.
I am not sure if the machine is running mod_perl or not, although I
think it is. In /etc/httpd/conf.d/perl.conf, I have the following:
------------------------------------------------------------------
LoadModule perl_module modules/mod_perl.so
#Alias /perl /var/www/perl
#
# SetHandler perl-script
# PerlResponseHandler ModPerl::Registry
# PerlOptions +ParseHeaders
# Options +ExecCGI
#</Directory>
------------------------------------------------------------------
Do I need to enable the lines from Alias onwards, and then put
something in /var/www/perl? Is there some other way to surely verify
this? In /var/log/httpd/error_log I *DO NOT* see any reference to
mod_perl when the server is stopped/started.
httpd.conf is configured with the following:
------------------------------------------------------------------
<IfModule prefork.c>
StartServers 8
MinSpareServers 10
MaxSpareServers 25
ServerLimit 256
MaxClients 124
MaxRequestsPerChild 4000
</IfModule>
------------------------------------------------------------------
When I do a 'ps' listing, I can see 10 httpd processes.
Whenever I make a request, such as clicking on the QueueView icon or
Email Ticket, I see a single "index.pl" process that consumes 98-99%
of cpu until the page has loaded and then it exits. I also see a MySQL
process that takes up only about 2% cpu time and only when the
'index.pl' is running. I do not see any 'perl' or 'httpd' processes
starting/stopping when I load a page.
I have read some of the performance tuning section and have added the
'TicketIndexModule' and 'TicketStorageModule' lines. Under Database, I
have done the 'optimize {ticket, ticket_history, article}. As far as I
can tell, mod_perl is enabled because of the 'LoadModule' line and I
see no 'perl' processes so I am assuming that it is working. Please
let me know if I am wrong in thinking this.
Given this current configuration, I was wondering it there is any way
to make this faster? It is quite slow at the moment. Clicking on Email
Ticket or QueueView is not as instantaneous as in the demo on the OTRS
website. It takes upto 3-4 seconds to load. This doesn't sound too
bad, but with 20-30 clients accessing it all the time, the problem is
going to get worse isn't it? More memory might help, but I don't think
I will be able to obtain it. Would optimising mod_perl help in any
way? Or maybe reducing the number of httpd processes to reduce memory
usage?
Any help much appreciated,
Thanks.