
Shmaltorhbooks
23.12.2017
16:40:47
dql в конце концов преобразовывается в sql

Max
23.12.2017
16:40:52

Shmaltorhbooks
23.12.2017
16:41:07
и если база его медленно обрабатывает - новая симфони не спасёт

Max
23.12.2017
16:41:34

Google

Max
23.12.2017
16:41:46
Сейчас предстоит работа по переносу

Shmaltorhbooks
23.12.2017
16:42:00
переносу чего, откуда и куда?

Max
23.12.2017
16:42:01
Соответственно хочу учесть свои огрехи
С 2.5 на что-то посаежее

Shmaltorhbooks
23.12.2017
16:42:26
у меня проект на 2,3 и норм

Max
23.12.2017
16:42:29
Убрать лишние пакет, изменить архетиктуру и тд

Shmaltorhbooks
23.12.2017
16:42:44
ничего принципиального в новых симфах и доктринах не было вкручено

Max
23.12.2017
16:42:47
Основной марта изменение архитектуры

Shmaltorhbooks
23.12.2017
16:42:55
ты же сам писал, что плохо пришлось именно мускулу

Max
23.12.2017
16:42:56
Мотив*
Да, все верно

Sergey
23.12.2017
16:43:13

Shmaltorhbooks
23.12.2017
16:43:28
значит смотреть надо в первую очередь на базу

Google

Shmaltorhbooks
23.12.2017
16:43:43
быстродействие системы равно быстродействю самого медленного компонента

Sergey
23.12.2017
16:43:44
а так - в твоем случае доктрина как бы будет не особо отличаться, ветка 2x за 5 лет не особо поменялась...

Max
23.12.2017
16:43:50
Это и хочу

Shmaltorhbooks
23.12.2017
16:44:04
slow log

Max
23.12.2017
16:44:06
Но пока не имею понятия с чего начаиь

Sergey
23.12.2017
16:44:15
начни со slow log и explain analyze

Max
23.12.2017
16:44:25
Slow или show ?

Sergey
23.12.2017
16:44:30
SLOW
медленные

Max
23.12.2017
16:44:41
Спасибо

Sergey
23.12.2017
16:44:43
+ можно логировать ситуации когда на один запрос было сделано более 50 запросов например

Shmaltorhbooks
23.12.2017
16:45:00
может имеет смысл как-то прогрепать access log'и nginx'а, выяснить какие страницы чаще всего (или дольше всего) грузят и посмотреть на запросы, которые там шуршат

Max
23.12.2017
16:45:02
Но я итак знаю, какой запрос прилетит

Sergey
23.12.2017
16:45:12
можно включить general log на какое-то время, а потом анализировать запросы

Shmaltorhbooks
23.12.2017
16:45:16
часть можно просто напросто закешировать минут на 1-60

Sergey
23.12.2017
16:45:23
кеш это не решение проблем

Max
23.12.2017
16:45:25
Есть основная таблица в которой хранятся все страницы

Shmaltorhbooks
23.12.2017
16:45:27
что-то можно индексами

Sergey
23.12.2017
16:45:30
это симптомы убирать только

Shmaltorhbooks
23.12.2017
16:45:39
где-то можно убрать сортировку

Google

Max
23.12.2017
16:45:44
А как с кэшем работать?

Shmaltorhbooks
23.12.2017
16:45:52
где-то лишние джойны убрать

Max
23.12.2017
16:46:18
То есть я думал что на лету все попадет в app/cache/prod

Shmaltorhbooks
23.12.2017
16:46:21
убрал джойны - часть запросов может и в кеш начать сама попадать)

Max
23.12.2017
16:46:41
И что-то в редис
Мне проект достался по наследству, на нем и учусь

Shmaltorhbooks
23.12.2017
16:47:06
не, туда попадают все твои конфиги в yaml, xml и шаблоны твига скомпилированные в php

Sergey
23.12.2017
16:47:08
ну то есть как - это надо делать для приоритизации

Shmaltorhbooks
23.12.2017
16:47:28
запросы к базе в кеш не падают

Max
23.12.2017
16:48:05
Я про сгенериррванные html из твига
Ну и как-то магические представляются туда значения переменных

Sergey
23.12.2017
16:48:26
это просто скомпилированные шаблоны
1. slow log.
2. берешь запросы которые чаще всего туда попадают и делаешь exlain analyze. пробуешь оптимизировать запрос

Shmaltorhbooks
23.12.2017
16:49:09
если твой html подходит для всех пользователей - можно ответы кешировать целиком. но если пользователи авторизируются и ответы для каждого свои - не получится класть хтмл в кеш

Sergey
23.12.2017
16:49:21
кэш тебя спасет если для этого запроса результат для многих пользователей одинаковый
если каждый заходит и генерит свой запрос - хит рейт (то есть попадание в готовые резуьтаты) будет явно ниже
если это так - и если правила инвалидации этого кэша простые (страничка была изменена) и количество инвалидаций меньше чем попадание - имеет смысл просто кэш забабахать
но есть ситуации когда это не так

Google

Shmaltorhbooks
23.12.2017
16:54:41
но в любом случае - читай slow логи и смотри что заняло больше всего времени. ищи места, которые вызывают эти запросы и смотри как можно избавиться от сложных запросов в сторону большего количества малых и простых. ну и саму базу тоже смотри - explain в помощь, редко подводит

Ruslan
23.12.2017
20:05:42
Всем, привет!

Konstantin
23.12.2017
20:05:49
ку

Ruslan
23.12.2017
20:11:53
Есть такая штука Kibana
вот думаю повесить перед собой телек на стену
и мониторить каждый чих)))
прочитал тут https://jolicode.com/blog/introduction-au-monitoring-d-une-application-symfony2

Alan
23.12.2017
20:13:42
главное чтоб на нем фильмы и ютубчик можно было включать))

Ruslan
23.12.2017
20:13:58
)))

Alan
23.12.2017
20:15:04
можно ещё прометея с графаной подцепить и табло вывести с кучей графиков. чувствуешь себя пилотом )))

Ruslan
23.12.2017
20:19:24
Есть Забикс и т.п. который мониторит сервак. Тут можно мониторить события приложения

Vasily
23.12.2017
20:35:05
есть еще звуковая отвертка

Admin
ERROR: S client not available

Vasily
23.12.2017
20:35:49
ею вообще можно всё что угодно сделать

Sergey
23.12.2017
20:41:37
забикс по сравнению с графаной вообще ни о чем

Sergey
23.12.2017
20:46:26

Ruslan
23.12.2017
20:52:38

Vasily
23.12.2017
20:54:07

Sergey
23.12.2017
20:55:22
заббикс дефакто стандарт... каждый второй девопс только о нем и знает)
это как джира
приходит PM, юзает только джиру и в большинстве случаев... юзает где-нибудь на 5% от того что она позволяет)
p.s. наболело

Sergey
23.12.2017
20:56:29

Google

Sergey
23.12.2017
20:56:59
обычные ленивые сис админы

Shmaltorhbooks
23.12.2017
20:57:28
И PM-ы

Sergey
23.12.2017
20:57:34
мы кстати прометеус откатили со второй версии на 1.8

Ruslan
23.12.2017
20:57:41

Sergey
23.12.2017
20:57:43
ибо нестабильный шо ппц

Vasily
23.12.2017
21:00:43

Sergey
23.12.2017
21:02:11

Ruslan
23.12.2017
21:03:50

Bohdan
23.12.2017
21:04:04

Gaiaz Iusipov
24.12.2017
14:35:46
ребята, есть пара вопросов по бест практис тестов:
1) кодсепшен чем-нибудь принципиально лучше симфоневской обвязки над phpunit?
2) фикстуры для тестовой бд мы каждый раз сбрасывать не должны? а как правильно их обновлять если схема поменялась?

Sergey
24.12.2017
14:36:51

Sergey
24.12.2017
14:37:15
почти все знают api phpunit, но далеко не все codeception

Gaiaz Iusipov
24.12.2017
14:37:43
сбрасывать всмысле заново все фикстуры из дампа разворачивать?
это же... долго

Sergey
24.12.2017
14:38:23
ну и а что ты хотел от интеграционных тестов)

Gaiaz Iusipov
24.12.2017
14:38:59
я просто не пойму. Тесты же в транзакциях выполняются и потом откатываются?
не, я про базовый довольно большой набор для всех данных

Sergey
24.12.2017
14:39:26
при старте сюиты*

Gaiaz Iusipov
24.12.2017
14:39:50
да, и то есть базовый набор перезагружать не нужно ведь?

Sergey
24.12.2017
14:40:07
ну если у тебя он одинаковый а дальше ты разшличия ролбэками откатываешь - то не нужно