Pull to refresh
37
0
Максим Горьков @MGorkov

Пользователь

Send message

Неожиданные последствия запуска PostgreSQL в Docker: замедление запросов в 100 раз

Level of difficultyMedium
Reading time4 min
Views41K

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

Читать далее
Total votes 95: ↑84 and ↓11+93
Comments57

Плагин для анализа планов PostgreSQL в Sublime Text, и его разработка

Level of difficultyMedium
Reading time6 min
Views1.8K

Завершаем серию статей о плагинах для explain.tensor.ru -  сервиса визуализации PostgreSQL-планов. На этот раз речь пойдет о плагине для Sublime Text.

Читать далее
Total votes 9: ↑9 and ↓0+9
Comments2

Плагин для анализа планов PostgreSQL в VS Code, и его разработка

Level of difficultyMedium
Reading time7 min
Views4.1K

Анализ планов и форматирование запросов PostgreSQL удобно выполнять в VS Code, используя explain.tensor.ru и плагин, о котором пойдет речь ниже.

Читать далее
Total votes 11: ↑11 and ↓0+11
Comments0

Плагин для анализа планов PostgreSQL в Eclipse и DBeaver, и его разработка

Level of difficultyMedium
Reading time8 min
Views4.3K

Для пользователей explain.tensor.ru - нашего сервиса визуализации PostgreSQL-планов, в дополнение к плагину Jetbrains мы создали еще один - с возможностью форматировать запросы и анализировать планы в Eclipse IDE и DBeaver.

Читать далее
Total votes 10: ↑10 and ↓0+10
Comments11

Плагин для анализа планов PostgreSQL в IDE JetBrains и его разработка

Level of difficultyMedium
Reading time11 min
Views6.8K

Для пользователей explain.tensor.ru - нашего сервиса визуализации PostgreSQL-планов, мы создали плагин "Explain PostgreSQL" для всех IDE от JetBrains, теперь есть возможность форматировать запросы и анализировать планы непосредственно в IDE.

Как использовать плагин и детали о его разработке читайте ниже.

Читать далее
Total votes 17: ↑17 and ↓0+17
Comments21

Node.JS: заменили модуль SSH2 на OpenSSH и снизили задержки eventloop в 15 раз

Level of difficultyMedium
Reading time5 min
Views4.8K

В нашем сервисе мониторинга и анализа PostgreSQL доступ к серверам осуществляется по протоколу SSH. В качестве ssh-клиента мы используем популярный модуль SSH2 , однако при передаче данных большого объема этот модуль вносит существенные задержки в event loop. Как их можно снизить - расскажем в этой статье.

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments3

Как мы переходили на Node.JS v16, или История о сломанном GC

Reading time3 min
Views7.2K
26 октября 2021 года вышел новый релиз Node.JS 16.13.0 который стал Active LTS.

Как мы переводили на него наш сервис мониторинга и анализа логов PostgreSQL и с какими проблемами столкнулись — в статье ниже.

Читать дальше →
Total votes 54: ↑54 and ↓0+54
Comments5

Мониторинг многопоточных приложений Node.JS

Reading time7 min
Views6.9K
В этой статье мы разберем особенности мониторинга многопоточного Node.JS приложения на примере нашего коллектора для сервиса мониторинга и анализа логов серверов PostgreSQL.


Читать дальше →
Total votes 9: ↑8 and ↓1+10
Comments3

Хеш+кэш: оптимизация «потоковой» обработки

Reading time6 min
Views4.7K
Что делать, если в базу хочется записать массу «фактов» много большего объема, чем она способна выдержать? Сначала, конечно, приводим данные к более экономичной нормальной форме и получаем «словари», в которые будем писать однократно. Но как это делать наиболее эффективно?

Именно с таким вопросом мы столкнулись при разработке мониторинга и анализа логов серверов PostgreSQL, когда остальные способы оптимизации записи в БД оказались исчерпаны.

Сразу оговоримся, что наши коллекторы работают под управлением Node.js, поэтому с процессорными регистрами и кэшами мы никак не взаимодействуем. А вариант использования «стораджей» или внешних кэширующих сервисов/БД дает слишком большие задержки при входящих потоках в несколько сотен Mbps.

Поэтому мы стараемся кэшировать все в RAM, конкретно — в памяти JavaScript-процесса. Про то, как эффективнее это организовать, и пойдет речь дальше.
Читать дальше →
Total votes 7: ↑7 and ↓0+7
Comments8

Information

Rating
4,671-st
Works in
Registered
Activity