Какой из акселераторов PHP лучше всего выбрать. сейчас у меня eAccelerator
у меня apc
Они все работают почти одинаково. Существенных преимуществ нет.
http://2bits.com/articles/benchmarking-drupal-with-php-op-code-caches-apc-eaccelerator-and-xcache-compared.html
Вероятно чаще используется apc, но я в этом совсем не уверен, достоверных сведений нет.
http://2bits.com/articles/benchmarking-drupal-with-php-op-code-caches-apc-eaccelerator-and-xcache-compared.html
Вероятно чаще используется apc, но я в этом совсем не уверен, достоверных сведений нет.
Что-то с apc у меня не сложилось.
Я использую nginx + php-cgi.
После некоторых экспериментов остановился на eaccelerator
Если верить JMeter-у то производительность возросла примерно в 3 раза с 60 req/min до 180 req/min
Этому уроду (moodle) никакие акселераторы не помогут!
Только написание заново и лучше без php или хотя бы грамотными разработчиками.
Я использую nginx + php-cgi.
После некоторых экспериментов остановился на eaccelerator
Если верить JMeter-у то производительность возросла примерно в 3 раза с 60 req/min до 180 req/min
Этому уроду (moodle) никакие акселераторы не помогут!
Только написание заново и лучше без php или хотя бы грамотными разработчиками.
Есть ли акселераторы для Windows-систем?
А google что, отменили уже?
Это тот же самый eAccelerator, только под Винду
Вот тут есть описание установки: http://www.hostcms.ru/documentation/server/eAccelerator
Думается, как ни "ускоряй" Винду, под Веб-сервер надо использовать *nix…
Это тот же самый eAccelerator, только под Винду
Вот тут есть описание установки: http://www.hostcms.ru/documentation/server/eAccelerator
Думается, как ни "ускоряй" Винду, под Веб-сервер надо использовать *nix…
Ускорять moodle почти бесполезно. Ошибки в ДНК ничем не исправить.
Очень голословное утверждение.
О его ошибочности также могут свидетельствовать следующие списки: http://docs.moodle.org/en/Installations_10000_plus и http://docs.moodle.org/en/Installations_30000_plus
О его ошибочности также могут свидетельствовать следующие списки: http://docs.moodle.org/en/Installations_10000_plus и http://docs.moodle.org/en/Installations_30000_plus
Число курсов/студентов/... это неинтересно.
Интересно описание железа, число запросов среднее и пиковое, объем трафика.
То, что я вижу у себя, радости не вызывает.
Сам проект давно вышел за рамки набора простеньких скриптов, а нормального сервера приложений php (который смог бы реально поднять производительность) до сих пор нет.
Да, акселератор помог, но все равно очень медленно.
Jmeter - очень интересный инструмент.
Очень плохо продумана работа с темами/css/js . Практически все они статические, но каждый раз генерируются.
Каждый .php включает в себя config.php который тянет за собой кучу библиотек и подключение к базе данных, а реально нужны были из конфигурации пара переменных.
Интересно описание железа, число запросов среднее и пиковое, объем трафика.
То, что я вижу у себя, радости не вызывает.
Сам проект давно вышел за рамки набора простеньких скриптов, а нормального сервера приложений php (который смог бы реально поднять производительность) до сих пор нет.
Да, акселератор помог, но все равно очень медленно.
Jmeter - очень интересный инструмент.
Очень плохо продумана работа с темами/css/js . Практически все они статические, но каждый раз генерируются.
Каждый .php включает в себя config.php который тянет за собой кучу библиотек и подключение к базе данных, а реально нужны были из конфигурации пара переменных.
Ваши исходные данные тоже как-то не прослеживаются в Ваших сообщениях.
Что-то где-то неизвестно насколько Вам не нравится: а в чем смысл сиих изречений?
Вы хотите чтобы Вам хотя бы попытались помочь? Нормально опишите ситуацию. И лучше не только на Russian Moodle, но и в Using.
У Вас есть идеи по улучшению проекта - Вам точно в Using. А если вдруг и реально можете помочь патчами - Вам еще и в tracker...
P.S. Кстати число запросов тоже ничего сильно не покажет. В Moodle есть разные компоненты, которые по-разному грузят сервер. А число активных пользователей отчасти показательно. Примеры пореальнее с описанием железа, нагрузки и т.п. встречаются в Using Moodle ▶ Hardware and Performance
Что-то где-то неизвестно насколько Вам не нравится: а в чем смысл сиих изречений?
Вы хотите чтобы Вам хотя бы попытались помочь? Нормально опишите ситуацию. И лучше не только на Russian Moodle, но и в Using.
У Вас есть идеи по улучшению проекта - Вам точно в Using. А если вдруг и реально можете помочь патчами - Вам еще и в tracker...
P.S. Кстати число запросов тоже ничего сильно не покажет. В Moodle есть разные компоненты, которые по-разному грузят сервер. А число активных пользователей отчасти показательно. Примеры пореальнее с описанием железа, нагрузки и т.п. встречаются в Using Moodle ▶ Hardware and Performance
У нас оно пока в тестовом варианте.
Железо: 2x XEON 3GHz/6GB RAM / IBM ServerRAID6i OS Linux. nginx/php-cgi/postgres
Не нравится следующее - медленно отдается страницы .php при высокой зарузке процессора.
Чтение документации частично повысило производительность, но анализ отдаваемых страниц показал, что есть смысл заниматься оптимизацией (в частности темы и куча статических скриптов).
Еще складывается ощущение, что большенству наплевать на производительность ,
главное чтоб работало без глюков .
Hardware and Performance радует конфигурациями с 8-ми ядерными системами
Просмотр кода наводит на размышления почему moodle не перевели на какой-нибудь framework ?
У меня нет опыта борьбы с php, а при изучение исходников сразу возникает слишком много вопросов на которые пока нет ответов.
Железо: 2x XEON 3GHz/6GB RAM / IBM ServerRAID6i OS Linux. nginx/php-cgi/postgres
Не нравится следующее - медленно отдается страницы .php при высокой зарузке процессора.
Чтение документации частично повысило производительность, но анализ отдаваемых страниц показал, что есть смысл заниматься оптимизацией (в частности темы и куча статических скриптов).
Еще складывается ощущение, что большенству наплевать на производительность ,
главное чтоб работало без глюков .
Hardware and Performance радует конфигурациями с 8-ми ядерными системами
Просмотр кода наводит на размышления почему moodle не перевели на какой-нибудь framework ?
У меня нет опыта борьбы с php, а при изучение исходников сразу возникает слишком много вопросов на которые пока нет ответов.
Что-то вы переключились с вопроса обсуждения акселераторов на обсуждение недочётов moodle.
>Еще складывается ощущение, что большенству наплевать на производительность,
главное чтоб работало без глюков.
Ну это особенность opensource проекта - каждый делает то, чего ему не хватает - и большинству достаточно, чтобы просто работало без глюков.
Так вот, в проекте moodle 2.0 десять профессиональных программистов за деньги занимаются тем, что оптимизируют moodle. Они уже оптимизировали две самых тяжелых подсистемы moodle, относящихся к производительности: файловую и базу данных.
Вообще-то Вам стоит уточнить, действительно ли тормоза возникают из-за php, или может быть дело как раз в том, что база данных не успевает давать ответ быстро или файловая система тормозит.
Проблема тормозов кучи скриптов и тем легко решается переходом на AJAX. В moodle на нём уже сделано несколько элементов, но существенных пока нет.
И не совсем понятно, про какие framework-и Вы говорите.
>Еще складывается ощущение, что большенству наплевать на производительность,
главное чтоб работало без глюков.
Ну это особенность opensource проекта - каждый делает то, чего ему не хватает - и большинству достаточно, чтобы просто работало без глюков.
Так вот, в проекте moodle 2.0 десять профессиональных программистов за деньги занимаются тем, что оптимизируют moodle. Они уже оптимизировали две самых тяжелых подсистемы moodle, относящихся к производительности: файловую и базу данных.
Вообще-то Вам стоит уточнить, действительно ли тормоза возникают из-за php, или может быть дело как раз в том, что база данных не успевает давать ответ быстро или файловая система тормозит.
Проблема тормозов кучи скриптов и тем легко решается переходом на AJAX. В moodle на нём уже сделано несколько элементов, но существенных пока нет.
И не совсем понятно, про какие framework-и Вы говорите.
файловая система уже не тормозит - она вся в кеше
У меня проблема оказалась в php - не хотел есть все имеющиеся ресурсы CPU из-за странных блокировок в сессиях.
Все подпорки/кастыли ввиде memcached и т.п. можно было бы выбросить если перейти на framework типа "zend framework" или сделать собственный php-сервер для запуска php-модуле/апплетов. Жаль, что сейчас это уже поздно делать.
У меня проблема оказалась в php - не хотел есть все имеющиеся ресурсы CPU из-за странных блокировок в сессиях.
Все подпорки/кастыли ввиде memcached и т.п. можно было бы выбросить если перейти на framework типа "zend framework" или сделать собственный php-сервер для запуска php-модуле/апплетов. Жаль, что сейчас это уже поздно делать.
Медленно - это сколько? Секунда, 5, 10? В каких условиях это происходит? При условии, что вариант тестовый, звучит вообще очень странно.
И большинству не наплевать на производительность: на это постоянно работают и не только в 2.0 (http://docs.moodle.org/en/Moodle_1.9_release_notes#Headline_features - 4 пункт).
Вообще очень много неизвестных, в частности: Вы на какие нагрузки вообще ориентируетесь? Возможно Вы неправильно выбрали инструмент под свои задачи?
Абстрактный пример: желание устроить репетицию ЕГЭ до 10000 конкуретных тестируемых. При этом нужно, чтобы система только оценку ставила и все. Не важны всякие фишки, типа просмотра потом своей попытки, отображения, что учащийся выбрал, где ошибся, возможно комментариев к ошибкам и т.п. Moodle тут будет не самым оптимальным вариантом, т.к. широкие возможности подсистемы тестирования неизбежно несут более сложную архитектуру и более высокие нагрузки на БД.
И большинству не наплевать на производительность: на это постоянно работают и не только в 2.0 (http://docs.moodle.org/en/Moodle_1.9_release_notes#Headline_features - 4 пункт).
Вообще очень много неизвестных, в частности: Вы на какие нагрузки вообще ориентируетесь? Возможно Вы неправильно выбрали инструмент под свои задачи?
Абстрактный пример: желание устроить репетицию ЕГЭ до 10000 конкуретных тестируемых. При этом нужно, чтобы система только оценку ставила и все. Не важны всякие фишки, типа просмотра потом своей попытки, отображения, что учащийся выбрал, где ошибся, возможно комментариев к ошибкам и т.п. Moodle тут будет не самым оптимальным вариантом, т.к. широкие возможности подсистемы тестирования неизбежно несут более сложную архитектуру и более высокие нагрузки на БД.
Медленно - это 6 запросов в секунду после установки акселератора. Нагрузка на процессор упала, но добавление конкурирующих запросов не повышало загрузку процессора и естественно не повышала производительность.
Убил почти целый день, но нашел причину: странные паузы при выполнении
fcntl( F_SETFD,FD_CLOEXEC) Время выполнения до 0.16-0.45 с !
Этот вызов применялся для файла семафора в сессиях (нафига?).
Из чего был сделан вывод - session.save_handler = "files" использовать нельзя.
Замена его на eaccelerator дала еще более худший результат - имеем
2500-5000 select(0, NULL, NULL, NULL, {0, 100}) = 0 (Timeout) каждый по 0.17 мкс = 0.4-0.8 с
Идут неприрывным куском во всех запросах кроме первого запуска.
Где-то активно используют usleep()
ession.save_handler = "eaccelerator" идет в сад
только при session.save_handler = "mm" получаем полную загрузку процессора и увеличение производительности.
Тестовый сценарий такой: обращение на стартовую страницу, выбор курса, запрос на 1,2,3,4 страницы теста
Запускаем 30 копий сессии паралельно каждую 2 раза.
результат 16/28 запросов/сек, время загрузки каждой страницы не более 1.8с
16 - это когда грузятся все объекты - 28 когда загружается только первая страница
IMHO - приемлемый результат.
Убил почти целый день, но нашел причину: странные паузы при выполнении
fcntl( F_SETFD,FD_CLOEXEC) Время выполнения до 0.16-0.45 с !
Этот вызов применялся для файла семафора в сессиях (нафига?).
Из чего был сделан вывод - session.save_handler = "files" использовать нельзя.
Замена его на eaccelerator дала еще более худший результат - имеем
2500-5000 select(0, NULL, NULL, NULL, {0, 100}) = 0 (Timeout) каждый по 0.17 мкс = 0.4-0.8 с
Идут неприрывным куском во всех запросах кроме первого запуска.
Где-то активно используют usleep()
ession.save_handler = "eaccelerator" идет в сад
только при session.save_handler = "mm" получаем полную загрузку процессора и увеличение производительности.
Тестовый сценарий такой: обращение на стартовую страницу, выбор курса, запрос на 1,2,3,4 страницы теста
Запускаем 30 копий сессии паралельно каждую 2 раза.
результат 16/28 запросов/сек, время загрузки каждой страницы не более 1.8с
16 - это когда грузятся все объекты - 28 когда загружается только первая страница
IMHO - приемлемый результат.