[rt-users] Performance and responsetime in RT 3.0.10
Dan O'Neill
rt at northpb.com
Sun May 2 11:54:20 EDT 2004
I found solutions to the performance problems we were having with RT, read
on if your interested.
First, configuration info:
2x1GHz processor
1GB ram
Redhat Fedora Core 1
RT 3.0.10
Postgresql 7.3.4
Symptoms:
A single httpd process would eat 99% of available CPU
The Postgres postmaster daemon might use .5%
Ticket display could take as much as 15 to 20 seconds when moving
through a list of tickets.
Solutions:
Increase shared memory sizes and allocate more shared
memory to postgresql.
Ensure that maxrequests per child for Apache are set to
something low.
Results:
Apache processes run at 66% to 90% for brief periods and
the postgresql postmaster process will be seen using 3%
to 20%. Page loads are less than 3 seconds on most occasions.
Details:
Shared memory increases at the OS level:
1. Edit /etc/sysctl.conf to adjust shared memory sizes
Here is what is at the bottom of my /etc/sysctl.conf file
#for postgres, its shared memory tweaks
#kernel.shmmax=2147483648
kernel.shmmax=536870912
kernel.shmmni=4096
kernel.shmall=2097152
2. Execute "/sbin/sysctl -p" to re-read the parameters file.
Shared memory increases in the postgresql configuration:
3. Edit the postgresql.conf file in /var/lib/psql/data
and change shared_buffers to:
shared_buffers = 6004
4. You may also want to bump up the amount of memory allocated
to sorting by changing sort_mem to:
sort_mem = 8096
5. Stop Apache
6. Stop Postgres
7. Restart Postgres
Apache performance tuning:
8. Edit /etc/httpd.conf and change MaxRequestsPerChild to:
MaxRequestsPerChild 100
9. Start Apache
These changes resolved most of our performance issues. Once in a while
there continue to be episodes of slow response time, but on the whole its
a great deal better.
A friend has also implemented these changes on an OpenBSD system with
similar good results.
The original suggestion came from Arnold Cavazos, Jr. who participates in
this list.
Remember, this solution is specific to problem encountered with the
configuration listed a the top. This is not to say that such changes
might improve a mysql or Oracle based installation, but that it isn't
tested.
What this experience reminded me of is that RT is a database intensive
application. Database servers almost always require customizations at the
operating system level to get the maximum possible performance out of the
hardware.
Let the rest of the list know if these suggestions improve your RT
installations performance.
Regards,
dano
More information about the rt-users
mailing list