Size: a a a

Java/Kotlin Web and more

2020 December 03

S

Sergey in Java/Kotlin Web and more
А чем мониторится обычно? Как понять причины?
источник

RS

Ruslan Stelmachenko in Java/Kotlin Web and more
Ну у каждой БД свои средства. Для mysql могу посоветовать включить slow query logging
источник

S

Sergey in Java/Kotlin Web and more
Andrey Dmitriyev
МОжет не в тему немного, но если у Вас много аггрегаций, то можете попробовать дополнительно заюзать clickhouse
Для BI отдельная машина с вертикой стоит. Там прям всё очень быстро.
источник

RS

Ruslan Stelmachenko in Java/Kotlin Web and more
в ОС еще можно IO посмотреть. на сколько оно загружает SSD по равнению с тем, сколько он может. на максимум или есть запас
источник

S

Sergey in Java/Kotlin Web and more
Спасибо за советы. Буду выяснять причины. Объем может и правда пока не большой.
источник

AE

Alexandr Emelyanov in Java/Kotlin Web and more
Sergey
А чем мониторится обычно? Как понять причины?
У нас графана + Прометей, собираем системные метрики через node exporter (cpu/ram/disk) + postgres exporter(дашбордов под него полно, можно увидеть все что захочешь + можно собственные метрики описать)

Там уже смотрим, делаем анализ, начинаем крутить параметры базы, смотрим статистику запросов, смотрим их планы, думаем как оптимизировать
источник

S

Sergey in Java/Kotlin Web and more
Alexandr Emelyanov
У нас графана + Прометей, собираем системные метрики через node exporter (cpu/ram/disk) + postgres exporter(дашбордов под него полно, можно увидеть все что захочешь + можно собственные метрики описать)

Там уже смотрим, делаем анализ, начинаем крутить параметры базы, смотрим статистику запросов, смотрим их планы, думаем как оптимизировать
Вот, пожалуй лучше всего начать с этого 👍 Спасибо.
источник

AE

Alexandr Emelyanov in Java/Kotlin Web and more
Недавно лечили, были большие буферы, как итог база свопилась, увидели по размеру свопа и как проц стоит на iowait
источник

AE

Alexandr Emelyanov in Java/Kotlin Web and more
Sergey
Вот, пожалуй лучше всего начать с этого 👍 Спасибо.
Тут у меня есть мониторинг ПГ https://github.com/lex-em/docker-scripts

Как настроить node exporter найдете легко)
источник

S

Sergey in Java/Kotlin Web and more
Спасибо, сохранил.
источник

SS

Sergey Shershnev in Java/Kotlin Web and more
Alexandr Emelyanov
Ну можно молотком забивать шуруп и скальпелем разделывать лошадь) надо знать что оптимизировать
какой вопрос - такой ответ
источник

AE

Alexandr Emelyanov in Java/Kotlin Web and more
Sergey
Спасибо, сохранил.
Да, забыл, там дашборд скудный, на сайте графаны можно найти более подробные
источник

K

Katya in Java/Kotlin Web and more
Всем привет. У меня вопрос про то как лучше реализовывать защиту от параллельной модификации объектов.

Например, в интерпрайз приложении есть сложный объект у которого в свою очередь атрибуты - это другие объекты и тд. У многих пользователей есть возможность модифицировать этот объект. Вопрос в том, как избежать одновременной модификации несколькими пользователями?

Я понимаю что нет ничего “одновременного” и что на уровне БД уже есть защита от параллельной модификации и все изменения станут в очередь.

Но если нам нужно на это все накрутить еще какую-то бизнес логику и например делать проверку чего угодно (прав, доступного количества и тд), то эта транзакция (модификации) может занимать значительное время.

Есть ли у спринга готовые решения данной проблемы? Или как вообще к ней подойти? Посоветуйте пжл что почитать по теме
источник

N

Nick in Java/Kotlin Web and more
Optimistic или pessimistic locking
источник

Д

Дмитрий in Java/Kotlin Web and more
Katya
Всем привет. У меня вопрос про то как лучше реализовывать защиту от параллельной модификации объектов.

Например, в интерпрайз приложении есть сложный объект у которого в свою очередь атрибуты - это другие объекты и тд. У многих пользователей есть возможность модифицировать этот объект. Вопрос в том, как избежать одновременной модификации несколькими пользователями?

Я понимаю что нет ничего “одновременного” и что на уровне БД уже есть защита от параллельной модификации и все изменения станут в очередь.

Но если нам нужно на это все накрутить еще какую-то бизнес логику и например делать проверку чего угодно (прав, доступного количества и тд), то эта транзакция (модификации) может занимать значительное время.

Есть ли у спринга готовые решения данной проблемы? Или как вообще к ней подойти? Посоветуйте пжл что почитать по теме
зависит от архитектура приложения. Поскольку врядли приложение задеплоено на 1 инстанс  то читайте про распределенные блокировки - redis, zookeeper
источник

СЕ

Сергей Ермаков... in Java/Kotlin Web and more
много реализаций так то, все зависит от задач, атомики есть переменные , или синхронайзд навесить
источник

СЕ

Сергей Ермаков... in Java/Kotlin Web and more
Katya
Всем привет. У меня вопрос про то как лучше реализовывать защиту от параллельной модификации объектов.

Например, в интерпрайз приложении есть сложный объект у которого в свою очередь атрибуты - это другие объекты и тд. У многих пользователей есть возможность модифицировать этот объект. Вопрос в том, как избежать одновременной модификации несколькими пользователями?

Я понимаю что нет ничего “одновременного” и что на уровне БД уже есть защита от параллельной модификации и все изменения станут в очередь.

Но если нам нужно на это все накрутить еще какую-то бизнес логику и например делать проверку чего угодно (прав, доступного количества и тд), то эта транзакция (модификации) может занимать значительное время.

Есть ли у спринга готовые решения данной проблемы? Или как вообще к ней подойти? Посоветуйте пжл что почитать по теме
а состояние объекта хранится в рантайме только ? варианты бд подключить ?
источник

СЕ

Сергей Ермаков... in Java/Kotlin Web and more
соблюдение транзакционности изменений ?
источник

K

Katya in Java/Kotlin Web and more
Сергей Ермаков
соблюдение транзакционности изменений ?
Не совсем поняла вопрос
источник

K

Katya in Java/Kotlin Web and more
Сергей Ермаков
а состояние объекта хранится в рантайме только ? варианты бд подключить ?
нет, в БД тоже много чего хранится. Просто много проверок делается до того как до БД дело доходит и это занимает время
источник