С каждым днем понимаю, что orm doctrine2 уничтожает производительность сайта .
Возможная причина - плохая архитектура связей (их слишком много).
Также проверял обычный запрос pdo mysql на выборку 100 элементов занимает 0.2 мб памяти, а доктрина целых 3 , а то и 4 мб. Разница в 15 раз раньше меня не пугала, но часто замечаю ошибки memory allocate , а также php работает с memory_limit = -1 . Это вообще нормально? При этом просмотр страницы где около 25-30 запросов вызывает 20% нагрузку на один реквест. Есть предчувствие, что при одновременных 3000 уников сайт упадет и не вернется.
Так вот, у кого-нибудь были такие проблемы, кто нибудь бросал доктрину и писал нативно или же как то оптимизировал бд, или уходили на другую орм,active record ?
Hiload и всякие doctrine ORM вещи не совместимые.
Быстро разработать - да Doctrine хороша. Но лично я никогда не понимал зачем эта тяжеловестность в пхп-сайте
Для быстрого выполнения -- вам надо самому знать, и представлять все связи в вашей системе. Никакой универсальный ORM вам не поможет. Только своё, только хардкор.
привет, для сайта может оно и не надо, но вот если у тебя много поточное бэк приложение написанное на php то doctrine очень сильно упрощает работу с объектами в базе, но да приходится жертвовать памятью....
Про память, для выборок на фронте вызвращайте скальярный результат getScalarResult (тупо массив или делайте dto, если нужны красивые объекты), Proxy-объекты entity довольно тяжелые.
Proxy-объекты оптимально использовать для бакэнда (кабинеты пользователя, админка и прочее управление).