Zynga zPerfmon – инструмент для мониторинга производительности серверов
Девелоперы из американской компании Zynga умеют создавать не только неплохие виртуальные симуляторы, стратегии и прочие компьютерные игры – для поддержки ряда онлайн-проектов ими была создана высокоэффективная IT-инфраструктура. Но этим компания не ограничилась. Для оценки производительности серверов игроделами был разработан специальный инструмент под названием zPerfmon. На днях Zynga перевела zPerfmon в разряд программ с открытым исходным кодом. Иными словами теперь любой желающий волен использовать и модифицировать это ПО, которое позволяет осуществлять централизованный мониторинг нескольких тысяч игровых серверов. Американская компания объявила о данном решении в своем блоге. Код программы доступен на сайте Github.
Крупные интернет-компании постоянно создают небольшие программные инструменты с открытым исходным кодом. Это логично, так как подобный шаг позволяет привлечь к развитию проекта энтузиастов со стороны и сделать ПО намного эффективнее. Но zPerfmon является в этом плане уникальным ввиду масштаба использования данного инструмента. По словам Бину Филиппа из Zynga, работоспособность этого инструмента обеспечивается при помощи всего лишь одного сервера, при этом zPerfmon ежедневно обрабатывает 150 гигабайт данных и добавляет 100 млн. строк в базу данных о производительности IT-инфраструктуры.
«zPerfmon не является совокупностью подпрограмм, связанных между собой как нитка жемчуга, » отмечает Филипп. «Это единая многофункциональная система, предназначенная для обработки множества типов файлов и типов заданий. Операторам доступны десятки способов просмотра и получения доступа к данным в зависимости от конвертной онлайн-игры, которая поддерживается нашими серверами. Кроме того, инструмент zPerfmon является удивительно стабильным и устойчивым».
В блоге Zynga Филлипс дает расширенное и изобилующее техническими терминами объяснение функционала и особенностей zPerfmon, но суть того, как работает программа, сводится к следующему:
«Данные на сервер поступают с периодичностью в 30 минут. Там они группируются и анализируются. В дополнение к профилям элементов IT-инфраструктуры на сервере хранятся данные о количестве взаимодействовавших с машинами пользователей, информация со счетчиков событий и прочие системные показатели. Все эти данные вводятся в единую БД с временными метками. Использование этих меток, позволяет, к примеру, связать увеличение показаний счетчика событий со скачком нагрузки на CPU и определенной страницей, в коде которой отсутствует оператор break (выход из цикла) в специальном цикле перебора массивов foreach()».
В настоящее время операторы ЦОД могут выбирать из огромного множество инструментов для мониторинга серверов и поиска неисправностей. Доступны как коммерческие программы вроде Splunk, так и программное обеспечение с открытым исходным кодом вроде Ganglia. Но интернет-компании зачастую создают собственные инструменты, анализируя свои потребности и ориентируюсь на уникальность своих бизнес-процессов и серверной архитектуры.
К примеру, специалисты социальной сети Facebook уже создали и внедрили не менее двух систем для контроля своих серверов. Одной из них является репозиторий на базе Hadoop, который называется Operations Data Store. Второй инструмент под названием Claspin, с помощью которого специалисты компании управляют IT-инфраструктурой для кэширования данных, позволяет обрабатывать входящую информацию в режиме реального времени.
Zynga использует zPerfmon для мониторинга серверов, которые обеспечивают работоспособность среды для облачных вычислений на базе архитектуры zCloud. К слову, к концу 2012 года 80% проектов Zynga работали благодаря частному облаку zCloud, для остальных привлекались вычислительные мощности со стороны (облако Amazon Web Services).
Всего комментариев: 0