Pull to refresh
3
Karma
0
Rating
Андрей Ходус @Khodus

Администратор баз данных и систем мониторинга.

  • Posts
  • Comments

Мониторинг выполнения задач в IPython Notebook

Python
Хотел бы поделиться простым, но полезным инструментом. Когда много работаешь с данными, часто возникают примитивные, но долгие операции, например: «скачать 10 000 урлов», «прочитать файл на 2Гб, и что-то сделать с каждой строчкой», «распарсить 10 000 html-файлов и достать заголовки». Долго смотреть в зависший терминал тревожно, поэтому долгое время я использовал следующий гениальный код:
def log_progress(sequence, every=10):
    for index, item in enumerate(sequence):
        if index % every == 0:
            print >>sys.stderr, index,
        yield item


Эта функция прекрасна, больше года она кочевала у меня из задачи в задачу. Но недавно я заметил в стандартной поставке Jupyter виджет IntProgress и понял, что пора что-то менять:

Читать дальше →
Total votes 42: ↑39 and ↓3 +36
Views32.4K
Comments 11

News

Show more

Профилирование нагрузки на файловую систему с помощью iostat и gnuplot — заметки дилетанта

Configuring LinuxSystem administration
Tutorial
Зачастую работа «в поле» требует сбора и анализа информации на сайте заказчика в условиях наличия крайне скудного списка утилит. В частности собрать информацию об использовании системы ввода-вывода в течении дня.

В статье я попробую показать, как располагая только iostat и gnuplot можно попробовать провести анализ системы и какие выводы можно сделать.

Я не претендую на доскональное владение предметом и точное использование терминов. Более того, я постараюсь говорить «обычным» языком и не бросаться терминами.

Все описанное ниже есть плод опыта, ошибок, гугления, курения манов и прочая
Читать дальше →
Total votes 47: ↑43 and ↓4 +39
Views80.3K
Comments 10

Релиз mongodb 3.2 немного подробностей

NoSQLMongoDBBig Data
Tutorial

На днях вышел новый стабильный релиз mongodb. В этой версии был добавлен ряд нововведений таких как новый GUI для визуальной работы с mongodb, LEFT JOIN, валидация документа и т.д. некоторые из этих свойств мы и рассмотрим на небольших примерах ниже.

Читать дальше →
Total votes 20: ↑19 and ↓1 +18
Views24.7K
Comments 25

Multi IP-SIM на службе малого бизнеса. Специальная SIM-карта для сайтов бесплатных объявлений

IPtelefonSaaS / S+SAsteriskDevelopment of communication systems
В нашем блоге на Хабре мы описываем любопытные схемы модернизации корпоративной телефонии, которые можно выстроить с помощью FMC-технологий, облачной АТС и интеграций с CRM-системами. Судя по тому, что почти половина наших клиентов интересуется именно интеграционными решениями, а белоснежные облака в первозданном виде только телефонного SaaS уже мало кому интересны, мы точно угадали тренд на рынке VoIP и двигаемся в верном направлении. Обычно интеграции телефонии, облачной АТС и мобильной связи — удел, как минимум, малого и среднего бизнеса и мы тоже так считали до недавнего времени, пока не выяснилось, что IP SIM-карты, виртуальная АТС и чудеса VoIP могут поработать и на микро бизнес. На бизнес, где предприниматель “one men show” и “швец и жнец и на дуде игрец”, где продажи строятся на продвижении товара через бесплатные объявления, входящие звонки от клиентов по всей РФ. Другими словами, сегодня расскажем о том, что мы придумали в помощь предпринимателям, зарабатывающим на продажах через доски объявлений.


Читать дальше →
Total votes 16: ↑12 and ↓4 +8
Views11.3K
Comments 6

Важнейшее из искусств: как мы реализовали проигрывание видео в Облаке Mail.Ru

Mail.ru GroupHigh performanceTarantool


Некоторое время назад в Облаке Mail.Ru появилась возможность проигрывания видеофайлов. Уже в самом начале работы над этим функционалом мы решили, что будем разрабатывать этакий швейцарский нож: требовалась возможность проигрывать любые видеоформаты и функционирование на всех устройствах, где доступно Облако. Загруженные в Облако видеофайлы можно условно разделить на две категории: «фильмы/сериалы» и «видеоролики пользователей», которые люди снимают на телефоны и видеокамеры — для этого случая особенно характерно разнообразие форматов и кодеков. Без предварительной обработки просмотреть все это на любом устройстве невозможно, например, из-за отсутствия нужного кодека или же размер файла окажется слишком большим.

В этой статье я расскажу о том, как устроено проигрывание видеофайлов в Облаке Mail.Ru и каким путем мы шли, чтобы сделать воспроизведение в Облаке «всеядным» на вход и поддержать максимальное число устройств на выходе.
Читать дальше →
Total votes 45: ↑40 and ↓5 +35
Views16.4K
Comments 39

Как я 8 месяцев переписывал свою криптовалюту с PHP на Go. Часть 1

Open sourcePayment systemsGo


«Не звони и не пиши мне больше!!!!» — пришла смс-ка от моей девушки Кати. Через пару часов я осознал, что теперь у меня появилась куча свободного времени и я решил переписать Dcoin на Go.


Читать дальше →
Total votes 100: ↑78 and ↓22 +56
Views67K
Comments 58

Исходный код JavaScript-движка Microsoft Edge будет открыт в январе

MicrosoftJavaScriptMicrosoft Edge
Translation
В конце прошлой недели на конференции JSConf US Last Call (Флорида, США) мы анонсировали, что откроем исходный код ключевых компонентов нашего JavaScript-движка Chakra, используемого в Microsoft Edge, в виде проекта ChakraCore. Исходный код будет доступен на GitHub под MIT лицензией в следующем месяце.


Gaurav Seth на сцене JSConf US Last Call анонсирует ChakraCore. Слайды доступны на GitHub.

Chakra – один с лучших движков JavaScript с самым большим покрытием возможностей ES2015 и предсказуемыми производительностью, надежностью и масштабируемостью. Мы предполагаем, что ChakraCore может использоваться в тех сценариях, где эти факторы играют большую роль: от облачных сервисов и до интернета вещей и в других средах.

Сегодня мы вкладываемся в улучшение Chakra больше, чем когда-либо, и мы рады возможности развития сотрудничества с сообществом для внедрения дальнейших улучшений. Несколько организаций уже рассказали о своем интересе вносить вклад в Chakra, включая Intel, AMD и NodeSource – мы смотрим с оптимизмом на нашу будущую совместную работу.
Читать дальше →
Total votes 39: ↑39 and ↓0 +39
Views12.4K
Comments 16

Dynamic T-SQL и как он может быть полезен

SQLMicrosoft SQL Server
Sandbox
В наших проектах нам приходится решать различные задачи. Для решения некоторых из них мы используем dynamic T-Sql (далее по тексту dynamic sql).

Для чего нужен dynamic sql? Каждый решает для себя. В одном из проектов с помощью dynamic sql мы решили задачи построения динамичных отчетов, в других — миграцию данных. Также dynamic sql незаменим в случаях, когда требуется создать/изменить/получить данные или объекты, но значения/названия приходят в качестве параметров. Да, это может показаться абсурдом, но есть и такие задачи.


Читать дальше →
Total votes 11: ↑11 and ↓0 +11
Views44.6K
Comments 7

Проектирование в PostgreSQL документо-ориентированного API: Комплексные запросы (Часть 4)

JavaScriptPostgreSQLSQL
Translation
Хранение документов в Postgres немного проще, теперь у нас есть серьезные процедуры сохранения, возможность запускать полнотекстовый поиск, и некоторые простые процедуры поиска и фильтрации.

Это только половина истории, конечно же. Рудиментарные поиски могут служить нуждам приложения, но они никогда не будут работать в долгой перспективе, когда нам надо будет задавать более глубокие вопросы.
Читать дальше →
Total votes 17: ↑16 and ↓1 +15
Views5.7K
Comments 0

Простой метапоисковый алгоритм на Python

Python
Sandbox

Лирическое отступление


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

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

Когда лень работать руками


Первая и самая очевидная для меня мысль – написать простой метапоисковый алгоритм на Python. Другими словами, вся автоматизация сводится к использованию выдачи другой поисковой машины (Google Search) за неимением своих баз данных. Сразу оговорюсь, есть уже готовые библиотеки, решающие подобную задачу, например pygoogle.
Читать дальше →
Total votes 18: ↑12 and ↓6 +6
Views14.3K
Comments 10

Собственные типы индексов в СУБД Caché

InterSystemsAbnormal programmingProgramming
В объектной и реляционной моделях данных СУБД Caché есть три типа индексов — обычные, bitmap и bitslice. Если по каким-то причинам этих индексов не хватает, начиная с версии 2013.1 программист может определить свой тип индексов и использовать его в любых классах.

Подробности под катом (если вас не пугают слова типа метод-генератор).
Читать дальше →
Total votes 16: ↑16 and ↓0 +16
Views6.9K
Comments 2

Внедрение CRM. От регистрации лида до закрытия сделки. Кейс и пояснения

TrinionCRM systems
За прошедший год мною было написано несколько работ, в которых освещались вопросы выбора CRM и обзоры конкретных систем. Но на практике я столкнулся еще с одним важным вопросом по этой теме, который и хотел бы осветить в данной статье. Это вопрос внедрения CRM-системы. Я специально приведу простой, но практический пример, чтобы вы могли быстро разобраться в вопросе и использовать для себя.

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

Представим ситуацию: вроде бы и CRM уже выбрали и готов начать работать в ней, но….с чего начать? Как начать? Подобные вопросы встают перед всеми кто работал начала работу с CRM.

Приведу классическое определение понятия Внедрение ПО:

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


Итак, как следует из определения, систему для начала надо настроить под определенные условия конкретной компании. Вопрос обучения в данной статье мы рассматривать не будем, только вопрос настройки системы.
Читать дальше →
Total votes 18: ↑13 and ↓5 +8
Views32.2K
Comments 0

Большой ликбез: распределённые системы хранения данных в практической привязке для админов среднего и крупного бизнеса

КРОКDistributed systems
Tutorial
Современные сети и дата-центры бодро шагают к полной и тотальной программно-определяемой схеме, когда фактически неважно, какое железо вы напихаете внутрь, всё будет на софте. У сотовых операторов это началось с того, что им не хотелось ставить по 20 антенн на дом (у них узлы переконфигурируются, меняют частоты и параметры просто обновлением конфига), а в дата-центрах сначала с виртуализации серверов, которая теперь мастхэв, а потом продолжилось и виртуализацией хранилищ.

Но вернёмся в Россию 2015 года. Ниже я покажу, как «из подручных средств» (x86 машин и любых «хранилок») сэкономить денег, повысить надёжность и решить ещё ряд типовых для сисадминов среднего и крупного бизнеса задач.


На этой схеме видны обе архитектуры, о которых пойдет речь. SDS — два красных контроллера в центре с любым бекэндом, от внутренних дисков до FC полок и облаков. И виртуальный SAN, на схеме Hyper-converged storage.

Самое главное:
  • Вам плевать, что за железо стоит: диски, SSD, зоопарк производителей, старые и новые модели… — всё это отдаётся оркестирующему софту, и он приводит это к той виртуальной архитектуре, которая вам нужна в итоге. Грубо говоря, объединяет в один том или позволяет нарезать как вам удобно.
  • Вам плевать, какие интерфейсы у этих систем. SDS построится сверху.
  • Вам плевать, какие функции ваши хранилки могли, а какие не могли (опять же, теперь они могут то, что надо: решает софт сверху).

Заодно рассмотрим пару типовых задач с конкретным железом и ценами.
Читать дальше →
Total votes 20: ↑20 and ↓0 +20
Views46.4K
Comments 15

MongoDB как средство мониторинга LOG-файлов

AT ConsultingMongoDBBig DataHadoop
В этой статье я расскажу об использовании нереляционной базы MongoDB для мониторинга журнальных файлов. Для мониторинга log-файлов существует множество инструментов, от мониторинга shell-скриптами, завязанными на cron, до кластера apache hadoop.



Подход с мониторингом скриптами текстовых файлов удобен только в простейших случаях, когда, например, проблемы выявляются наличием в журнальном файле строк «ERROR», «FAILURE», «SEVERE» и т.п. Для мониторинга больших файлов удобно использовать систему Zabbix, где Zabbix Agent (active) будет считывать только новые данные и с определённой периодичностью отправлять их на сервер.
Читать дальше →
Total votes 22: ↑21 and ↓1 +20
Views17.1K
Comments 47

Information

Rating
5,888-th
Location
Воронеж, Воронежская обл., Россия
Date of birth
Registered
Activity