Как улучшить производительность Trac - PullRequest
3 голосов
/ 18 октября 2008

Я заметил, что мой конкретный экземпляр Trac не работает быстро и имеет большие лаги. Это в самом начале проекта, поэтому в Trac не так много (за исключением плагинов и кода, загруженного в SVN).

Информация о настройке: Это через систему SELinux, размещенную в WebFaction. Он находится за Apache, а соединения через SSL. В настоящее время для управления доступом используется файл .htpasswd.

Есть ли рекомендуемые способы улучшения производительности Trac?

Ответы [ 4 ]

5 голосов
/ 18 октября 2008

Трудно сказать, не зная больше о вашей настройке, но одна легкая победа - убедиться, что Trac работает в чем-то вроде mod_python, который сохраняет время выполнения Python в памяти. В противном случае каждый HTTP-запрос будет запускать Python, импортировать все модули и, наконец, обрабатывать запрос. Использование mod_python (или FastCGI, в зависимости от того, что вы предпочитаете) устранит эту загрузку и сразу перейдет к хорошему.

Кроме того, по мере роста базы данных Trac и увеличения числа людей, использующих сайт, вы, вероятно, превзойдете базу данных SQLite по умолчанию. На этом этапе вам следует подумать о переносе базы данных в PostgreSQL или MySQL, поскольку они смогут обрабатывать параллельные запросы гораздо быстрее.

3 голосов
/ 18 октября 2008

Нам повезло с FastCGI. Другим важным фактором было использование https только для аутентификации, но использование http для всего остального трафика - я был очень удивлен, насколько это изменило ситуацию.

2 голосов
/ 30 апреля 2009

Я заметил, что если

select disctinct name from wiki

занимает более 5 секунд (например, из-за миллиона строк в этой таблице - это реальная история (у нас был скрипт, который заполнил ее)), просмотр страниц вики становится очень медленным и занимает более 2*t*n, где t - это время выполнения цитируемого запроса (более 5 секунд), а n - количество ссылок на tracwiki, присутствующих на просматриваемой странице. Это связано с тем, что у trac есть (жестко закодированный) 5s срок действия кэша для этого запроса. Он используется trac для определения цвета ссылки. Мы повторно закодировали значение до 30 с (нам нужно столько страниц, поэтому каждые 30 с кто-то должен ждать 6-7 с).

Это может быть не то, что вызвало Твою проблему, но это может быть. Удачи в ускорении инстанса Trac.

1 голос
/ 11 марта 2009

Статическое обслуживание файлов chrome с помощью expires-header также может помочь. См. Конец этой страницы .

...