Ускорение скорости загрузки composer пакетов с помощью hirak/prestissimo
Буквально на днях наткнулся на замечательный пакет, который позволяет распараллелить загрузку при установке и обновлении проекта через composer. Пакет стоящий и действительно работающий. Сейчас я о нем немного расскажу.
Вот тут находится страница проекта на github. Описание скудновато, но не это главное.
Устанавливается все это дело очень просто. Достаточно выполнить
composer global require hirak/prestissimo
На этом все. Пакет настроен и готов к использованию. Для большей эффективности можно настроить все под себя.
Престиссимо имеет ряд настроек, которые вы можете изменить, как глобально для всех проектов, так и выборочно. Это следующие параметры:
- maxConnections - максимальное количество соединений
- minConnections - минимальное количество соединений
- pipeline - jопция конвеера HTTP/1.1. Требует наличия
PHP >= 5.5 - verbose - настройка
CURLOPT_VERBOSE - insecure - если включено, то не проверяет https сертификаты. Не рекомендуется менять эту настройку
- capath - абсолютный путь до cacert.pem
- userAgent - юзер-агент, который указывается при скачивании пакетов. Если не задано, то используется юзер-агент от
composer - privatePackages - список приватных пакетов. Если заполнено, то для данных пакетов будет отключен локальный "редиректор" с
api.github.comнаcodeload.github.com
Для конфигурирования необходимо отредактировать секцию config в локальном composer.json или создать/отредактировать файл ~/.composer/config.json. Этим вы сконфигурируете пакет локально или глобально соответственно.
Для себя я увеличил максимальное количество подключений и активировав pipeline. Вот пример моего файла config.json:
{
"config": {
"prestissimo": {
"maxConnections": 10,
"minConnections": 3,
"pipeline": true
}
}
}
