tigra, так диск тут при чем? У вас время занимает сборка контейнера, а не чтение с диска. Поместив эти данные в оперативку вы получится прирост в доли секунды.
Vladimir-Hetman, Например, если вы пишете демона. В стандартном использовании пхп (как запустился-умер) в большинстве случаев это не нужно, но если вы пишете демона, то закрытие соединения имеет смысл.
Об этом можно почитать из гугла (например тут).
Хотя, конечно, речь идет не только о соединении с бд, есть много других соединений (сокеты, http, очереди и тд)
Если вы не знаете какую выбрать архитектуру, берите самую простую и популярную.
Для того что бы найти самую простую и популярную гуглите "react example project"
Александр Панков, Ваш юнит тест должен тестировать именно один метод. Когда вы начинаете проверять в одном тесте несколько методов получается каша с усложнением. Все что вы вызываете стоит мокнуть (кроме геттеров и сетторов).
В вашем случае я вижу, что как минимум метод serialize может повести себя неоднозначно. Я бы протестировал каждый вызов (если придерживаться 100% покрытия)