Pull to refresh
16
Karma
0.5
Rating
Дмитрий @khajiit

Программист, железячник.

PostgreSQL Antipatterns: простой(?) INSERT… VALUES

Тензор corporate blog High performance *PostgreSQL *SQL *Database Administration *

Представим, что у вас есть некоторая табличка статистики, куда вы периодически скидываете таймстамп последнего "текущего" состояния в паре координат - например, (ID организации, ID сотрудника).

Как больно наступить на грабли в совсем простом, казалось бы, запросе?

Читать далее
Total votes 42: ↑38 and ↓4 +34
Views 11K
Comments 32

Запуск кода CUDA на видеокартах AMD

GPGPU *
Recovery mode
Sandbox

Большая часть приложений использующих ускорение при помощи видеоускорителей основаны на платформе CUDA. Есть ли выход из этой ситуации у владельцев видеокарт от AMD?

Читать далее
Total votes 71: ↑70 and ↓1 +69
Views 14K
Comments 16

Насколько круто иметь свой сервер в комнате

RUVDS.com corporate blog Open source *Server Administration *Development for Raspberry Pi *Software

Некоторые олды часто вспоминают эпоху до смартфонов, когда в студенческие времена или в школе у них был любимый настольный компьютер. Он стоял прямо в комнате, рядом с кроватью, и работал как личный ассистент в режиме 24/7: играл фоновую музыку (со специальным плейлистом, когда в гости приходили девушки), показывал фильмы, будил уведомлением из аськи или ирки, скачивал сайты ночью по диалапу и т. д.

Но кажется, что эта эпоха возвращается. Только на новом уровне. Сейчас опять стало очень круто иметь в комнате свой сервер, только он выглядит иначе и выполняет другие функции.
Читать дальше →
Total votes 146: ↑145 and ↓1 +144
Views 60K
Comments 312

CephFS vs GlusterFS

КРОК corporate blog IT Infrastructure *Virtualization *Server Administration *Data storage *

Будучи инфраструктурным инженером в команде разработки облачной платформы, мне довелось поработать со многими распределенными системами хранения данных, в том числе и с теми, что указаны в заголовке. Кажется, что есть понимание их сильных и слабых сторон, и я попробую поделиться с вами своими мыслями на этот счет. Так сказать, посмотрим у кого хеш-функция длиннее.


Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Views 28K
Comments 7

А вот вы говорите Ceph… а так ли он хорош?

КРОК corporate blog IT Infrastructure *Server Administration *Data storage *


Я люблю Ceph. Я работаю с ним уже 4 года (0.80.x — 12.2.6, 12.2.5). Порой я так увлечен им, что провожу вечера и ночи в его компании, а не со своей девушкой.
 Я сталкивался с различными проблемами в этом продукте, а с некоторыми продолжаю жить и по сей день. Порой я радовался легким решениям, а иногда мечтал о встрече с разработчиками, чтобы выразить свое негодование. Но Ceph по-прежнему используется в нашем проекте и не исключено, что будет использоваться в новых задачах, по крайней мере мной. В этом рассказе я поделюсь нашим опытом эксплуатации Ceph, в некотором роде выскажусь на тему того, что мне не нравится в этом решении и может быть помогу тем, кто только присматривается к нему. К написанию этой статьи меня подтолкнули события, которые начались примерно год назад, когда в наш проект завезли Dell EMC ScaleIO, ныне известный как Dell EMC VxFlex OS.


Это ни в коем случае не реклама Dell EMC или их продукта! Лично я не очень хорошо отношусь к большим корпорациям, и черным ящикам вроде VxFlex OS. Но как известно, всë в мире относительно и на примере VxFlex OS очень удобно показать каков Ceph с точки зрения эксплуатации, и я попробую это сделать.

Читать дальше →
Total votes 51: ↑51 and ↓0 +51
Views 38K
Comments 55

Эластичное избыточное S3-совместимое хранилище за 15 минут

Big Data *
Tutorial
S3 сегодня не удивишь наверное никого. Его используют и как бэкенд хранилище под веб сервисы, и как хранилище файлов в медиа индустрии, так и как архив для бэкапов.



Рассмотрим небольшой пример развертывания S3-совместимого хранилища на основе объектного хранилища Ceph
Читать дальше →
Total votes 36: ↑34 and ↓2 +32
Views 48K
Comments 26

Когда TCP-сокеты отказываются умирать

Configuring Linux **nix *
Sandbox
Translation

Когда TCP-сокеты отказываются умирать

В поисках причин, почему установленные соединения не разрываются в некоторых случаях, я набрёл на отличную статью в блоге Cloudflare. Которая в итоге помогла найти не только решение моей проблемы, но и помогла лучше понять как работают таймауты TCP соединений в Linux.

Читать далее
Total votes 66: ↑66 and ↓0 +66
Views 15K
Comments 5

Разбираемся в необычной проблеме с WiFi

Sportmaster Lab corporate blog Network technologies *Computer hardware Periphery Network hardware
Translation

Что?


В конце прошлого года я начал сталкиваться с необычными периодически возникающими проблемами подключения на десктопе. В целом, подключение было стабильным и со средними задержками; однако во (вроде бы) случайные моменты времени на протяжении недели через каждые пару секунд возникали резкие пики задержек в две с лишним тысячи миллисекунд.


Из-за этого было невозможно пользоваться всем ПО для аудио-/видеозвонков и играть в большинство онлайн-игр.

Эта проблема возникла примерно во время моего переезда через всю страну из штата Вашингтон в Южную Каролину, поэтому было слишком много факторов, чтобы с лёгкостью выявить источник. Однако в основном проблема влияла только на игры и аудио-/видеозвонки, поэтому я особо не обращал на неё внимания.

На протяжении последней пары месяцев я постепенно пытался разобраться, что происходит, но до сегодняшнего дня мне этого сделать не удавалось.
Читать дальше →
Total votes 151: ↑149 and ↓2 +147
Views 28K
Comments 96

PostgreSQL, что в логе твоем?

Тензор corporate blog PostgreSQL *System Analysis and Design *Database Administration *Data visualization *

Наверняка, многие из вас пользуются explain.tensor.ru - нашим сервисом визуализации PostgreSQL-планов или уже даже развернули его на своей площадке. Но визуализация конкретного плана - это лишь небольшая помощь разработчику, поэтому в "Тензоре" мы создали сервис, который позволяет увидеть сразу многие аспекты работы сервера: медленные или гигантские запросы, возникающие блокировки и ошибки, частоту и результаты проходов [auto]VACUUM/ANALYZE.

И сегодня мы, наконец, готовы представить вам демо-режим этого сервиса, куда вы самостоятельно можете загрузить лог своего PostgreSQL-сервера и наглядно увидеть, чем он у вас занимается.

Читать далее
Total votes 29: ↑29 and ↓0 +29
Views 4.2K
Comments 1

Как аккуратно записать гифку с консоли

SkillFactory corporate blog Open source *IT systems testing *Programming *DevOps *
Translation



Помните, как вы пытались записать демонстрацию CLI-инструмента? К старту нашего курса по DevOps делимся материалом о том, как записывать гифки с консоли кодом, чтобы тестировать сборки ПО и показывать ваши консольные инструменты.

Читать дальше →
Total votes 12: ↑11 and ↓1 +10
Views 2.5K
Comments 1

Топ полезных SQL-запросов для PostgreSQL

PostgreSQL *SQL *Database Administration *Data storage *Data storages *

Статей о работе с PostgreSQL и её преимуществах достаточно много, но не всегда из них понятно, как следить за состоянием базы и метриками, влияющими на её оптимальную работу. В статье подробно рассмотрим SQL-запросы, которые помогут вам отслеживать эти показатели и просто могут быть полезны как пользователю.

Читать далее
Total votes 83: ↑81 and ↓2 +79
Views 37K
Comments 15

Внутренности вордовских файлов: просто ужас

Website development *
Sandbox
О сложности и жуткости вордовских файлов давно ходили легенды. Известно было, что формат этот крайне запутанный, а к тому же еще и полностью засекреченный, так что о половине тамошних полей можно было только догадываться.

Не скрою, что и меня эти файлы интересовали, но дальше первой страницы описания я так продвинуться и не смог. Однако незакрытый гештальт остался.

А теперь вот жизнь заставила (или подкинула возможность) все-таки разобраться во внутренностях всем хорошо известных документов, тем более, что в Штирлица теперь играть не обязательно, достаточно скачать с сайта «Майкрософта» официальные спецификации.

Что тут можно сказать? Невольно вспоминается старый пошлый анекдот: ну ужас. Ну просто ужас, но ведь не ужас-ужас-ужас.
Читать дальше →
Total votes 237: ↑194 and ↓43 +151
Views 53K
Comments 211

Биологи впервые увидели, как два респираторных вируса объединили усилия и обошли иммунную систему человека

Popular science Health


Биологи впервые смогли наблюдать, как два распространённых респираторных вируса слились вместе, сформировав гибрид, способный на обход иммунной системы человека и заражение клеток лёгких. Исследователи считают, что их работа поможет объяснить, почему совместное инфицирование для некоторых клиентов значительно утяжеляет течение болезни и усложняет её лечение.

Наблюдали учёные за вирусом гриппа типа «А» и респираторно-синцитиальным вирусом человека (RSV). Ежегодно во всём мире 5 млн человек попадает в больницы с вирусом гриппа «А», а RSV – ведущая причина инфекций нижних дыхательных путей у детей в возрасте до 5 лет.

Совместное инфицирование, когда человек заражается двумя вирусами одновременно, довольно распространено. Однако ранее было непонятно, как перечисленные вирусы поведут себя, оказавшись в одной клетке.
Читать дальше →
Total votes 6: ↑6 and ↓0 +6
Views 2.1K
Comments 3

Как вырвать нерв из головы и остаться без лица: почему так дорого рвать «коренной» зуб

Белая Радуга corporate blog Popular science Health
80 тысяч за удаление зуба — а не охренели ли мы в край? Примерно такой комментарий был в одном из прошлых постов. Показываю, почему некоторые зубы такие дорогие.

Нервов у нас в районе головы столько, что в них могут быть подло понатыканы другие органы, обычно растущие в других местах. Вот типичный случай, когда пациентка осталась бы инвалидом на всю жизнь в какой-нибудь маленькой региональной клинике с вырыванием зубов без предварительного КТ:


Видите зуб-восьмёрку и тоненькую чёрточку под ним? Это так называемый коренной зуб и нерв. Точнее, это их рентген-тени.

Обычно зуб растёт выше и не касается нерва. Здесь они друг с другом довольно плотно интегрированы. Корень опустился в нижнечелюстной канал, где проходят артерии, вены, а ещё нижний альвеолярный нерв.

Если прийти с больным зубом в любую клинику, где сначала рвут, а потом фотографируют, то пациентка останется без лица с пугающе высокой вероятностью — 80%. Если сначала сфотографировать это место в нуарных рентген-лучах, то можно понять, что просто потянуть за зуб не получится.

И вот в этот момент на сцене появляюсь я со своими лезвиями и начинаю мило улыбаться. Потому что есть целых три инженерных подхода.
Читать дальше →
Total votes 103: ↑95 and ↓8 +87
Views 35K
Comments 138

Комбинация команд и никакого мошенничества. Как мы ускорили создание бэкапов в 3 раза

Selectel corporate blog IT Infrastructure *Server optimization *Backup *Cloud services *

Привет, меня зовут Андрей. Я старший разработчик Selectel, работаю в команде дисков и бэкапов. Наша команда занимается развитием сетевых дисков и услуги резервного копирования в облаке.

Год назад мы запустили бэкапы сетевых дисков в облаке. Число пользователей растет, что позволяет нам развивать и улучшать продукт. Не так давно мы ускорили создание бэкапов в 3 раза, а восстановление из них — в 1,5 раза. Все благодаря клиенту с данными на 9 ТБ. Под катом рассказываю, как мы ускорили резервное копирование на программном уровне и с какими проблемами столкнулись.
Читать дальше →
Total votes 58: ↑58 and ↓0 +58
Views 6K
Comments 22

Замена диска с сохранением правильной нумерации в CEPH

Data recovery *Data storage *
Sandbox
Предполагается, что в результате этого метода мы сохраняем последовательность, в которой диски выводятся командой ceph osd tree. Если они там по порядку, то это удобнее читается и считается, при необходимости.

Лирическое отступление по теме. Официальный метод замены диска в ceph предполагает удаление всех логических сущностей, связанных с этим диском из кластера с дальнейшим их пере-созднием. В результате чего свеже-созданный osd (при некотором стечении обстоятельств) может сменить свой номер (номер в имени сущности, это который osd.Цифра) и местоположение в crush-мапе и естественно будет выводиться в другом месте в команде ceph osd tree и других. Сменится его порядковый номер.

Идея этого метода заключается в том, что никакие логические сущности мы менять не будем, а просто подсунем новый диск на «старое» место в кластере. Для этого на этом новом диске надо (вос)создать правильные структуры данных: всяческие id, симлинки, ключики.
Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Views 3.5K
Comments 5

Как мы перешли с Elastic на Grafana stack и сократили расходы в несколько раз

m2 tech corporate blog DevOps *
✏️ Technotext 2022

Привет! Хочу поделиться историей миграции сервисов логирования и трейсинга с компонентов Elastic Stack на Grafana Stack и тем, что из этого вышло. До миграции у нас в М2 использовались достаточно классические схемы:

Читать далее
Total votes 31: ↑31 and ↓0 +31
Views 19K
Comments 19

Сeph — от «на коленке» до «production»

*nix *Data storage *Data storages *
Sandbox

Выбор CEPH. Часть 1


У нас было пять стоек, десять оптических свичей, настроенный BGP, пару десятков SSD и куча SAS дисков всех цветов и размеров, а ещё proxmox и желание засунуть всю статику в собственное S3 хранилище. Не то чтобы это всё было нужно для виртуализации, но раз начал использовать opensource — то иди в своём увлечении до конца. Единственное, что меня беспокоило — это BGP. В мире нет никого более беспомощного, безответственного и безнравственного, чем внутренняя маршртутизация по BGP. И я знал, что довольно скоро мы в это окунёмся.



Задача стояла банальная — имелся CEPH, работал не очень хорошо. Надо было сделать "хорошо".
Доставшийся мне кластер был разнородным, настроенным на скорую руку и практически не тюнингованным. Он состоял из двух групп разных нод, с одной общей сеткой выполняющей роль как cluster так и public network. Ноды были набиты четырьмя типами дисков — два типа SSD, собранными в два отдельных placement rule и два типа HDD разного размера, собранными в третью группу. Проблема с разными размерами была решена разными весами OSD.


Саму настройку разделили на две части — тюнинг операционной системы и тюнинг самого CEPH и его настроек.

Читать дальше →
Total votes 26: ↑25 and ↓1 +24
Views 17K
Comments 18

Сeph — от «на коленке» до «production» часть 2

*nix *Network technologies *Data storage *Data storages *

(первая часть тут: https://habr.com/ru/post/456446/)


CEPH


Введение


Поскольку сеть является одним из ключевых элементов Ceph, а она в нашей компании немного специфична — расскажем сначала немного о ней.
Тут будет сильно меньше описаний самого Ceph, в основном сетевая инфраструктура. Описываться будут только сервера Ceph-а и некоторые особенности серверов виртуализации Proxmox.

Читать дальше →
Total votes 14: ↑13 and ↓1 +12
Views 8K
Comments 18

Как работает Wine

Дата-центр «Миран» corporate blog System Programming *Game development *Development for Linux *Software
Translation


Wine — это свободное программное обеспечение для запуска Windows-приложений на нескольких POSIX-совместимых операционных системах, включая Linux, macOS и BSD.

Если вы любите Linux, то наверняка когда-то запускали Wine. Возможно, для какой-то «важной» программы Windows, у которой нет аналога под Линуксом, или поиграться. Забавный факт: даже Steam Deck от Valve запускает игры через оболочку на основе Wine (она называется Proton).

За последний год я намучился с отладчиком, который позволяет одновременно дебажить и Wine, и Windows-приложение в нём. Разобраться во кишочках Wine оказалось очень интересно! Я-то раньше много им пользовался, но никогда не понимал механику целиком. Можно взять файл Windows — и просто запустить его в Linux без каких-либо изменений. Если вы хотите знать, как это сделано, добро пожаловать под кат.
Читать дальше →
Total votes 232: ↑231 and ↓1 +230
Views 41K
Comments 41

Information

Rating
1,368-th
Location
Россия
Registered
Activity