Ускорение скорости загрузки 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 } } }