Как оптимизировать ubuntu server с moodle для увеличения быстродействия

Как оптимизировать ubuntu server с moodle для увеличения быстродействия

by Денис Ю -
Number of replies: 3

Здравствуйте.

Прошу помощи. Офисная машина с 1Гб ОЗУ, САТА диск. Поставил на нее   ubuntu server 12.04. Поставил Lamp, webmin 1.630, moodle 2.4.3. В moodle всего 5 курсов, 30 пользователей. Сервер внутри ЛВС, из инета доступа нет.

Даже когда работаю один чувствуются тормоза. 

Какие настройки php или mysql можно оптимизировать для увеличения быстродействия системы?

Спасибо 

Sum of ratings: -
In reply to Денис Ю

Re: Как оптимизировать ubuntu server с moodle для увеличения быстродействия

by Виталий Лавров -
Picture of Эксперт по Moodle

Волшебной кнопки "Увеличить быстродействие системы" нет.

Сначала нужно понять когда эти тормоза появляются. Может достаточно будет тему выбрать попроще smile

От быстродействия процессора в данной системе зависит немного. На двухядерной машинке уже можно работать.

При отсутствии памяти все будет упираться в скорость диска (у вас ssd sata ?), что резко замедляет работу.

Память отсутствует из-за неконтролируемого использования ее некоторыми компонентами (в вашем варианте это apache + mod-php) при большем числе параллельных запросов. Пока хватает пямяти могут быть небольшие задержки, а если она кончается, то наступает полный ......

Moodle - обычный php проект. У него нет специфики. Для его оптимизации нужно знать как настраивается вместе apache, php, mysql. Обратитесь на форумы посвещенных настройке этих компонент или поищите в интернете ( есть куча howto по настройке и оптимизации апача,пхп,мускл ). Это типовая задача для системного администратора. Найдите такого и он быстро решит проблему с быстродействием системы.

In reply to Денис Ю

Re: Как оптимизировать ubuntu server с moodle для увеличения быстродействия

by Vadim Dvorovenko -
Picture of Developers Picture of Майнтейнер перевода

Денис, у меня была подобная ситуация и на более мощных системах. Что хочу заметить, если вы работаете под админской учётной записью, для вас грузится очень большое дерево административных настроек, у меня было в режиме админа генерация страницы 3 сек против 0,5 у обычного пользователя. Измеряйте с учётки пользователя.

1 гб озу по моим личным тестам хватит примерно на 10 пользователей постоянно тыкающих что-то в системе. Потом система уходит в ступор, пользователи начинают нервно обновлять страницы ещё чаще, число запросов увеличивается и система уходит в ступор ещё сильнее.

В moodle огромное количество файлов, которые желательно читать быстро. Если есть возможность, докупите маленький ssd диск и поместите на него папки /var/www, moodledata/cache и moodledata/session. Можно вообще всю ubuntu на ssd поставить. Но остальные файлы файлы папки moodledata стоит оставить на медленном носителе. 

Поставить акселератор php. Вот вариант из коробки для ubutnu

apt-get install php-apc

добавить в /etc/php5/conf.d/apc.ini строку

apc.shm_size=128M

In reply to Vadim Dvorovenko

Re: Как оптимизировать ubuntu server с moodle для увеличения быстродействия

by Виталий Лавров -
Picture of Эксперт по Moodle

на 1 гиге нужно выкинуть апача с modphp т.к. потребление памяти этой связкой очень плохо контролируется, что приводит к полному П. под нагрузкой. Поставить nginx + php-fpm. Аккуратно настроить php-fpm (pm.max_children & memory_limit). Задача проста - не давать php выжрать всю память. Кроме php памяти должно хватать mysql!

Обязательно поставить и настроить аксерелатор для php (xcache или APC). У обоих есть административная страничка, на которой видно сколько памяти они используют. Кода в moodle не много и возможно для работы им хватит не 128M, а 64/48/32M.

Начиная с moodle-2.4 настроить $CFG->xsendfile & $CFG->xsendfilealiases

Далее тюнить mysql.

Если машинка не раритетная, то есть смысл добавить в нее память (сколько возможно).

Далее есть смысл разнести по разным физическим дискам БД и moodle.

Если есть ssd, то вынести на него базу и moodle.