Trac is slow

37 views
Skip to first unread message

Gabriel Alves

unread,
Oct 15, 2019, 11:51:07 AM10/15/19
to Trac Users
Hello.

We use Trac in our company and sometimes it seems very slow . If Trac would have parallel access or we open some pages of Trac, the time for it's ready is high.

An example:
I open a ticket page it's ready in 2 seconds.
If I open 5 ticket pages it's ready in 10 seconds.

We build a sheet with a parallel access test

trac slow.png

(time is in seconds and the .xlxs is attached)

Here we use:
  • Trac 1.0 (stable)
  • Apache 2.4 with mod_wsgi
  • MySQL Server
  • Python 2.7.16 (x86)
And our server config:
  • Windows Server 2012 R2 Standard
  • 8GB RAM
  • 80GB for system / 150GB for data
  • Intel Xeon C5660 2.80GHz
We are thinking to try AJP and Apache with mod_python to solve this issue. What do you think?

Do you know about or faced something like that?

NOTE: Plugins list and Apache configs attached.


Att,
Gabriel Alves
Request time per user.xlsx
httpd.conf
listplugins_agilo.txt
trac.conf

Pavel Celba

unread,
Oct 15, 2019, 1:13:06 PM10/15/19
to Trac Users
Hi Gabriel,

we've been solving similar problems and we did several hacks to speed the Trac up.

First of all we've restricted the number of comments rendered in the ticket preview to the last 5. There is also a link to display all comments.
Some plugins are slowing the Trac down. Namely plugins using additional permission policies like private tickets plugin.

The Windows installation problem is it cannot utilize multithreaded environment properly. Apache creates one process running on one CPU, the same is valid with database (we are still on SQLite). The biggest speed up was caused by extending the SQLite connector cache which was set to 2MB internally and many concurrent and SQL intensive requests (reports) were just waiting. The cache size is defined somewhere inside the Trac and to have it configurable would be highly appreciated. 

Of course, Genshi is the main contributor to the slowness in the html rendering so the Trac 1.4 should be our target version. Unfortunately, many plugins are not adapted to Jinja and the question is whether it would be better to wait for Trac 1.5 running under Python 3...

Additionally, reports are great in the Trac  but each query is executed twice to obtain row count and then the results. This sounds contra productive.

I would like to do more for the Trac community but my experience is still not sufficient. I did just some minor hacks from the above mentioned list.

Pavel


Dne úterý 15. října 2019 17:51:07 UTC+2 Gabriel Alves napsal(a):
Reply all
Reply to author
Forward
0 new messages