Строго как попало

Jan 20, 2010 15:29

Попробовал позавчера найти экспериментальным путём лучшее (с точки зрения производительности) количество дочерних процессов, с которыми следует запускать nginx + Catalyst::Engine::HTTP::Prefork и Apache + mod_perl.

Апач настраивал изменением параметра MaxClients в httpd.conf ( Read more... )

скорость, программизм, apache, perl, catalyst, nginx

Leave a comment

Comments 6

quappa January 20 2010, 10:49:52 UTC
А как тестировали? Количество процессов влияет на производительность только если есть достаточное количество параллельных клиентов.

Reply

Как тестировал shoorick January 20 2010, 15:36:29 UTC
Запускал ab в несколько потоков (пробовал значения от 5 до 100).
То есть, например, так:
ab -n 1000 -c 50 -C имя_куки=значение http://host:port/path

Reply


tarkhil January 20 2010, 11:09:07 UTC
1. SQL - в высшей степени наше все. Я встречал сайт, на котором траффик SQL-сервера в два раза превышал траффик апача
2. TT - один из самых медленных шаблонизаторов
3. Catalyst в отладочном режиме пишет тайминг, сразу видно, где тормоза.
4. Разносить фронт, бэк и SQL - хорошее решение. Если есть деньги.

Reply

По пунктам shoorick January 20 2010, 15:55:50 UTC
1. Засекал время работы. Якобы, не в SQL дело: большая часть времени
уходит на шаблонизатор. Хотя та куча запросов, которую генерит
DBIx::Class, меня очень удивила: когда я писал запросы руками, я считал,
что десяток запросов - это чрезмерно много. А тут их число выходит
иногда за сотню (про prefetch мне уже подсказали).
Сейчас SQL-сервер с приложением сидят на одной машине - возможно, из-за
такого тесного соседства причина тормозов пока не в SQL.

2. Угу. Автор CTPP2 (slonik_v_domene) их сравнивал.
Результаты удручающие.
Но моментально перевести сайт c TT на CTPP не выйдет -
мы уже много всего настрогали на TT.

4. Денег не то, чтобы совсем нет (я надеюсь), но их трудно потратить.
SQL-сервер уже вынесли.
Попробую перенести базу туда и сравнить скорость.
Сейчас закончу тестирование nginx+чё-нибудь
(вроде, работает) -
попробую распараллеливание с выносом бэкендов на другие машины.

Reply

Re: По пунктам tarkhil January 20 2010, 17:43:47 UTC
Есть некий Template::Alloy, бают, он гораздо быстрее...

Reply

Re: По пунктам tarkhil January 20 2010, 17:45:27 UTC
По п. 4 - memcached+repcached в качестве хранилища состояний, не забудь

Reply


Leave a comment

Up