Архив метки: linux

Дебаггинг памяти .NET Core приложения в Linux

Дебаггинг памяти .NET Core приложения в Linux

Большую часть прошлой недели мне пришлось экспериментировать с виндовым .NET проектом под Linux и в Kubernetes. Это на самом деле не такая уж и дурка, как кажется поначалу. Проект мы заранее перевели на кросс-платформенный .NET Core, я отловил практически все проблемы, которые вплыли в никсе под контейнерами, и по итогу в K8s проект действительно заработал. Почти.

На практике всё равно остались мелкие неприятности. Эпизодически выскакивали всякие StackOverflow (хорошо хоть не segmentation faults), да и мой дебагерский виндовый опыт оказался практически бесполезным на никсах.

Например, практически сразу мы заметили, что, запускаясь под контейнером, проект с ходу отъедал 300 мегабайт физической памяти и около 2-х гигов виртуальной. В виндовом продакшене, конечно, под нагрузкой бывало и на порядки больше, но вот тут, на Linux, в демо-режиме, это много, мало, или вообще как? Как это проверить в принципе? На Винде я бы сделал дамп процесса, запустил Visual Studio или WinDBG и гуглил, что теперь делать дальше. А что тут?

Как выяснилось, гугл под Linux тоже работает, так что через пару часов медитации на монитор я выучил несколько интересных штук, о которых и хотел бы рассказать сегодня. Читать далее Дебаггинг памяти .NET Core приложения в Linux

Эксперименты с микросервисами

Недавно на работе меня попросили сделать мини-проект: динамическую страницу со слайдами для одного из настенных проекторов. Они развешаны по всему офису, и показывают на стенах разную актуальную информацию: статистики по клиентам, задержки при передаче пакетов от одного сервера к другому, кто над чем работает, и т. п. Мне же нужно было добавить статистику по релизам и билдам: сколько времени занимает билд, какие тесты упали, какие нестабильные, и что там еще может мотивировать разработчиков на подвиг. Вся эта информация лежит в Google BigQuery, и её нужно просто собрать и грамотно представить. Ничего сложного. Читать далее Эксперименты с микросервисами