Производительность

Материал из MoodleDocs
Перейти к:навигация, поиск


Оценка базовой производительности

Прежде чем производить какую-либо оптимизацию, вам необходимо получить базовые характеристики компонентов системы, которые вы пытаетесь улучшить. Для Linux можно попробовать LBS, для Windows использовать системный монитор. После того как вы получите количественные данные о том, как ваша система настроена настоящее время, вы сможете определить, оказывают ли какое-либо реальное воздействие внесенные изменения. Основной идеей для повышения производительности является использование ресурсов ОЗУ(кеширование), а также уменьшение обращений к дисковой подсистеме. Особенно важно сократить использование файла подкачки настолько, насколько это возможно. Если ваша система начинает интенсивно использовать файл подкачки, это признак того, что вам нужно больше ОЗУ. Для увеличения производительности предпочтительно улучшение оперативной памяти(увеличение ее объема), вторичной памяти (более вместительные жесткие диски / улучшенной конфигурации жестких дисков / использование RAID), процессора (большее кол-во, более мощные).

Масштабируемость

Конфигурация аппаратного обеспечения

Примечание: Самый быстрый и эффективный путь которым вы можете повысить производительность является наращивание объема оперативной памяти на вашем веб-сервере. Расширение основной памяти позволит снизить потребность процессов в файле подкачки и позволит вашему серверу обслуживать большее количество пользователей.

  • Более высокая производительность достигается путем расширения ресурсов процессора, т.е. установка большего числа процессоров или использование многоядерных процессоров. Также следует обратить внимание то какие инструкции поддерживает процессор и.т.д.
  • Если вы можете себе позволить, используйте жесткие диски SCSI, а не диски SATA. SATA диски повышают нагрузку на процессор в вашей системе, в то время как SCSI диски имеют свои собственные процессоры и используют их для взаимодействия, если таковых дисков несколько. Если вы работаете с SATA дисками, убедитесь, что ваша материнская плата и диски имеют поддержку NCQ (Native Command Queuing).
  • Покупайте жесткие диски с низким временем поиска, они позволят повысить общую скорость работы системы.
  • Устанавливайте правильный размер файла подкачки. В общем случае его надо установить равным 4-м объемам оперативной памяти.
  • Используйте RAID-массивы. Существует множество различных конфигураций RAID, но следующие обычно работают лучше всего:
    • Используйте аппаратный RAID(Если вам позволяют средства).
    • Операционную систему и файл(раздел) подкачки лучше хранить на одном наборе дисков, настроенных как RAID-1.
    • Moodle, веб-сервер, сервер базы данных и прочую информацию лучше хранить на наборе дисков настроенных как RAID-5.
  • Используйте Gigabit Ethernet для уменьшения задержки и увеличения пропускной способности. Это особенно важно, когда у вас веб-сервер и сервер базы данных работают на разных серверах.
  • Проверьте настройки сетевой карты. Вы можете получить увеличение производительности за счет использования встроенных возможностей сетевой карты, к примеру, разгрузить процессор от вычисления контрольной суммы пакета и перенести эту функцию на встроенный процессор на катрочке.

Операционная система

  • Вы можете использовать Linux (рекомендуется), Unix-based (FreeBSD, Solaris и.т.д.), Windows или Mac OS X для серверной операционной системы. *nix системы как правило, для той же задачи требуют меньше памяти, чем Mac OS X или Windows. Кроме того Linux не требует лицензионных отчислений, но может потребоваться обучение, если вы используете другую операционную систему.
  • Желательно чтобы вы ознакомились с рекомендациями по оптимизации вашей ОС

Производительность веб-серверов

Установите Firefox с дополнением firebug, оно позволит вам следить за временем, которое требуется для загрузки каждой страницы и ее отдельных компонетов. Также вам может помочь дополнение Page Speed.

Оптимизация PHP

  • Для снижения нагрузки на процессор настоятельно рекомендуем вам использовать PHP-акселератор, например APC, PHPA, XCache или eAccelerator. (Будьте осторожны, чтобы выборе PHP-акселератора, некоторые версии акселераторов не совместимы с новыми выпусками PHP).
  • PHP работает быстрее, когда установлен в Apache/IIS ISAPI как модуль (а не как CGI), но эта конфигурация менее безопасна. Проверьте, memory_limit в php.ini, и уменьшите его до 16M для Moodle версии раньше, чем 1.7. Для Moodle 1.7 или более поздних версий, рекомендуется значение memory_limit равное 40 мегабайтам. В версии PHP 5.2.1 значение по умолчанию для директивы memory_limit 128M.

Ссылки на иструкции

Оптимизация Apache

Оптимизация Nginx

Производительность баз данных

Оптимизация MySQL

Оптимизация PostgreSQL

Производительность различных модулей Moodle

Оптимизация изображений в Moodle

Ссылки