Как стать автором
Обновить
58
0
Ivan Velichko @iximiuz

Software Engineer

Отправить сообщение

Более чем 80 средств мониторинга системы Linux

Время на прочтение12 мин
Количество просмотров315K
Ниже будет приведен список инструментов мониторинга. Есть как минимум 80 способов, с помощью которых ваша машинка будет под контролем.



1. первый инструмент — top

Консольная команда top- удобный системный монитор, простой в использовании, с помощью которой выводится список работающих в системе процессов, информации о этих процессах. Данная команда в реальном времени сортирует их по нагрузке на процессор, инструмент предустановлен во многих системах UNIX.
читать дальше
Всего голосов 94: ↑82 и ↓12+70
Комментарии68

Сбор и анализ логов демонов в Badoo

Время на прочтение12 мин
Количество просмотров47K

Введение


В Badoo несколько десятков «самописных» демонов. Большинство из них написаны на Си, остался один на С++ и пять или шесть на Go. Они работают примерно на сотне серверов в четырех дата-центрах.

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



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

Мы построили такую систему и спешим поделиться подробностями. Наверняка у кого-то из вас будет стоять похожая задача, и прочтение данной статьи убережет от ошибок, которые мы успели совершить.
Читать дальше →
Всего голосов 51: ↑50 и ↓1+49
Комментарии53

21 бесплатный учебный ресурс для разработчиков игр

Время на прочтение8 мин
Количество просмотров133K
В интернете полным-полно создателей контента, и каждый хочет привлечь к себе внимание. Но, как ни странно, хороший учебный ресурс найти нелегко, а бесплатный – еще сложнее. Мы публикуем перевод материала, в котором автор собрал ссылки на самые авторитетные и полезные обучающие площадки.


Читать дальше →
Всего голосов 32: ↑31 и ↓1+30
Комментарии7

Партиционирование в PostgreSQL – Что? Зачем? Как?

Время на прочтение23 мин
Количество просмотров173K
Функцией партиционирования таблиц в PostgreSQL, к сожалению, активно пользуются пока не многие. На мой взгляд, очень достойно о ней рассказывает в своей работе Hubert Lubaczewski (depesz.com). Предлагаю вам еще один перевод его статьи!

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

Так что я постараюсь объяснить в меру своих знаний и возможностей, что это такое, зачем его стоит использовать и как это сделать.
Читать дальше →
Всего голосов 34: ↑33 и ↓1+32
Комментарии26

Эволюция структур данных в Яндекс.Метрике

Время на прочтение17 мин
Количество просмотров44K
Яндекс.Метрика сегодня это не только система веб-аналитики, но и AppMetrica — система аналитики для приложений. На входе в Метрику мы имеем поток данных — событий, происходящих на сайтах или в приложениях. Наша задача — обработать эти данные и представить их в подходящем для анализа виде.



Но обработка данных — это не проблема. Проблема в том, как и в каком виде сохранять результаты обработки, чтобы с ними можно было удобно работать. В процессе разработки нам приходилось несколько раз полностью менять подход к организации хранения данных. Мы начинали с таблиц MyISAM, использовали LSM-деревья и в конце концов пришли к column-oriented базе данных. В этой статье я хочу рассказать, что нас вынуждало это делать.

Яндекс.Метрика работает с 2008 года — более семи лет. Каждый раз изменение подхода к хранению данных было обусловлено тем, что то или иное решение работало слишком плохо — с недостаточным запасом по производительности, недостаточно надёжно и с большим количеством проблем при эксплуатации, использовало слишком много вычислительных ресурсов, или же просто не позволяло нам реализовать то, что мы хотим.
Читать дальше →
Всего голосов 57: ↑55 и ↓2+53
Комментарии22

Программирование многопользовательских игр

Время на прочтение4 мин
Количество просмотров24K
Добрый день, Хабр!

Мы только что выпустили книгу по Юнити, и нам стало интересно насколько вообще актуальна тема программирования игр. Казалось бы книг на эту тему должно быть выпущено огромное множество, но это не так.

Только что вышла книга «Multiplayer Game Programming: Architecting Networked Games (Game Design)».

image

Насколько актуален ее перевод на русский язык? Подробности под катом. Ждем ваши комментарии.
Читать дальше →
Всего голосов 17: ↑16 и ↓1+15
Комментарии15

Как покрыть мониторингом все слои инфраструктуры

Время на прочтение9 мин
Количество просмотров31K
image

Как-то я посчитал, что 1 минута простоя hh.ru в будни днем затрагивает около 30 000 пользователей. Мы постоянно решаем задачу снижения количества инцидентов и их длительности. Снизить количество проблем мы можем правильной инфраструктурой, архитектурой приложения — это отдельная тема, ее мы пока не будем брать во внимание. Поговорим лучше о том, как быстро понять, что происходит в нашей инфраструктуре. Тут как раз нам и помогает мониторинг.

В этой статье на примере hh.ru я расскажу и покажу, как покрыть мониторингом все слои инфраструктуры:
  • client-side метрики
  • метрики с фронтендов (логи nginx)
  • сеть (что можно добыть из TCP)
  • приложение (логи)
  • метрики базы данных (postgresql в нашем случае)
  • операционная система (cpu usage тоже может пригодиться)

Читать дальше →
Всего голосов 45: ↑41 и ↓4+37
Комментарии15

Чему мы научились, разрабатывая backend

Время на прочтение3 мин
Количество просмотров33K
imageРазработка Parallels Access потребовала создания геораспределенного сервиса, позволяющего безопасно устанавливать связь между компьютерами и мобильными клиентами пользователей в различных точках земного шара. Команда, которая над ним трудится, хочет поделиться полученным опытом в форме цитат, чтобы облегчить участь тем, кто только планирует создание своего клиент/серверного продукта, и погрузить в ностальгию профессионалов, имеющих за спиной дюжину успешных проектов:
Читать дальше →
Всего голосов 73: ↑68 и ↓5+63
Комментарии37

Доступные интернет ресурсы и инструменты для стартапов

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

Предприниматели делают все возможное, чтобы привести бизнес к успеху, но иногда этого недостаточно. Для того, чтобы помочь начинающим предпринимателям Бен Тосселл (Ben Tossell), куратор и комьюнити менеджер проекта ProductHunt составил небольшой список полезных для них ресурсов, с которым я вам и предлагаю ознакомиться.
Читать дальше →
Всего голосов 12: ↑12 и ↓0+12
Комментарии0

DevTips: Советы веб-разработчику (1-16)

Время на прочтение5 мин
Количество просмотров70K
Команда браузера Google Chrome проделывает огромную работу для того, чтобы разработчикам жилось лучше. Chrome DevTools — пример замечательного инструмента, сильно упрощающего отладку вашего веб-приложения. Но подчас не весь функционал этой системы виден с первого взгляда, поэтому Umar Hansa — программист из Лондона — описывает его на своем сайте, причем в весьма удобном формате: немного текста и короткий скринкаст. А мы, в свою очередь, решили сделать эти советы более доступными русскоязычной аудитории.

Содержание:
  1. Перенаправление порта позволит вам открывать локальные ссылки на мобильном устройстве
  2. Активация псевдо-классов DOM-элемента
  3. Повтор сетевого запроса при помощи cURL
  4. Запуск сохранённых блоков кода (сниппетов) на любой веб-странице
  5. Отслеживание изменений файлов через DevTools
  6. Простая запись действий страницы
  7. Поиск элементов DOM-дерева при помощи CSS-селекторов
  8. Копирование изображения в формате Data URI
  9. Переход к нужной строке при открытии файла
  10. Упрощенная навигация между правками
  11. Копирование ответа на сетевой запрос
  12. Работа с несколькими курсорами при редактировании скриптов
  13. Блочное выделение
  14. Быстрый мониторинг событий в консоли
  15. Доступ к выбранному DOM-узлу в консоли
  16. Отслеживание незавершенных сетевых запросов при помощи фильтра is:running

Продолжение: 17-32, 33-48.
Читать дальше →
Всего голосов 67: ↑62 и ↓5+57
Комментарии18

Мой опыт фриланса на Upwork

Время на прочтение5 мин
Количество просмотров67K
Впервые я столкнулся с Upwork (тогда еще oDesk) в 2011м году, когда брат прислал на них ссылку в скайпе. Я только начинал работать на русских биржах, и подумал — почему бы не попробовать еще и на зарубежной. Но тогда все закончилось ничем. Результаты были слабыми, и, разочаровавшись во фрилансе как таковом, я бросил это дело.

Вернулся на Upwork только спустя два года, когда узнал, что есть те, кто серьезно занимаются фрилансом, и отлично живут на этом. Решил в этот раз ориентироваться только на зарубежных заказчиков, т. к. по первому опыту у них бюджеты были больше, а также они выше ценили свое и мое время. Так я снова оказался на Upwork.
Читать дальше →
Всего голосов 43: ↑40 и ↓3+37
Комментарии23

Reddit: инструкция по применению

Время на прочтение8 мин
Количество просмотров71K

Reddit.com, так называемый социально-новостной сайт, объединяющий в себе характеристики социальной сети и новостного портала, последние несколько лет стал привлекать к себе внимание SEO специалистов со всего мира благодаря своей головокружительной посещаемости и полной доступности. У русскоязычных пользователей нет причин оставаться в стороне, так что приглашаю всех желающих на небольшой мастер-класс по максимально эффективному использованию этой площадки для продвижения.
Читать дальше →
Всего голосов 16: ↑12 и ↓4+8
Комментарии2

Пока смотрел, получил две вышки

Время на прочтение7 мин
Количество просмотров18K
Мы решили оторваться от очередного эпизода, чтобы написать эту статью. А вы, наверняка, оторвались от очередного эпизода, чтобы ее прочитать. Если вы устали подсчитывать часы жизни, потраченные зря на просмотр сериалов, мы вам поможем. Всё зависит от того, что вы смотрите и с какой целью. Итак, какие сериалы нужно смотреть, чтобы становится всё умнее и профессиональнее?

P. S. В статье нет спойлеров!



Читать дальше →
Всего голосов 21: ↑17 и ↓4+13
Комментарии11

Как искать работу программисту в Кремниевой Долине

Время на прочтение1 мин
Количество просмотров6.7K
Рассказываю о том, как можно искать работу на конференции в Кремниевой Долине, как работают компании, на что обращают внимание при поиске разработчика в стартап.

Всего голосов 16: ↑9 и ↓7+2
Комментарии2

Отказоустойчивый кластер Master-Slave на PostgreSQL

Время на прочтение9 мин
Количество просмотров119K
Приветствую, хаброжители!
В этой статье я хочу поделиться опытом развертывания кластера Master-slave на СУБД PostgreSQL. Отказоустойчивость достигается с помощью возможностей pgpool-II (failover, online recovery).
pgpool — это прекрасное средство для масштабирования и распределения нагрузки между серверами и, думаю, немногие знают о возможностях автоматического создания failover на ведомом сервере при отказе ведущего и как добавить новые мощности в уже работающий кластер без отключения всего кластера.
Читать дальше →
Всего голосов 47: ↑47 и ↓0+47
Комментарии18

Новый выделенный сервер: приемка и проверка

Время на прочтение10 мин
Количество просмотров41K
Новый сервер: приемка и проверка

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

В этой статье мы расскажем о том, как можно получить спецификацию Linux-сервера в командной строке.
Читать дальше →
Всего голосов 85: ↑73 и ↓12+61
Комментарии36

Динамическое программирование. Классические задачи

Время на прочтение8 мин
Количество просмотров323K
Здравствуй, Хабрахабр. В настоящий момент я работаю над учебным пособием по олимпиадному программированию, один из параграфов которого посвящен динамическому программированию. Ниже приведена выдержка из данного параграфа. Пытаясь объяснить данную тему как можно проще, я постарался сложные моменты сопроводить иллюстрациями. Мне интересно ваше мнение о том, насколько понятным получился данный материал. Также буду рад советам, какие еще задачи стоит включить в данный раздел.

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

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

Такие задачи решают методом динамического программирования, а под самим динамическим программированием понимают сведение задачи к подзадачам.
Читать дальше →
Всего голосов 105: ↑97 и ↓8+89
Комментарии72

Резервное копирование и восстановление в PostgreSQL

Время на прочтение4 мин
Количество просмотров38K
image

Предположим что у нас есть postgresql в режиме потоковой репликации. master-сервер и hot-standby готовый заменить погибшего товарища. При плохом развитии событий, нам остается только создать trigger-файл и переключить наши приложения на работу с новым мастером. Однако, возможны ситуации когда вполне законные изменения были сделаны криво написанной миграцией и попали как на мастер, так и на подчиненный сервер. Например, были удалены/изменены данные в части таблиц или же таблицы были вовсе удалены. С точки зрения базы данных все нормально, а с точки зрения бизнеса — катастрофа. В таком случае провозглашение горячего hot-standby в мастера, процедура явно бесполезная…
Для предостережения такой ситуации есть, как минимум, два варианта…
А? О чем это он тут?!?
Всего голосов 25: ↑23 и ↓2+21
Комментарии13

Репликация в Postgresql 9.0

Время на прочтение3 мин
Количество просмотров86K
Доброго времени суток. Учитывая, что с момента релиза PostgreSQL 9 прошло уже некоторое количество времени — я решил пощупать одну из его новых функций — нативную репликацию. Как известно, новый механизм основан на пересылке XLOG`a от мастера к слейву. Одним из жирных плюсов можно назвать нормальную обработку ALTER`ов. Иными словами — администратор 9й версии может обойтись без Slony.
Читать дальше →
Всего голосов 58: ↑51 и ↓7+44
Комментарии42

Исследование удачи

Время на прочтение3 мин
Количество просмотров21K
В моем окружении некоторое время назад было принято ругать экономистов, а точнее людей занимающихся экономикой как научным направлением. Мне всегда было обидно за людей, которые в большинстве своем применяют математические инструменты в своей работе. Однако найти хороший аргумент в их пользу не представлялось возможным. Сейчас я закончил читать книгу «Великие по собственному выбору» от Джима Коллинза и Мортена Хансена. И мне хочется верить, что такой аргумент у меня появился.

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

Читать дальше →
Всего голосов 26: ↑14 и ↓12+2
Комментарии4
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Amsterdam, Noord-Holland, Нидерланды
Зарегистрирован
Активность