Upgrade to Pro — share decks privately, control downloads, hide ads and more …

sysbench: от утилиты до универсальной платформы...

CEE-SECR
October 21, 2017

sysbench: от утилиты до универсальной платформы нагрузочного тестирования. Разбор архитектурных особенностей и функционала

Алексей Копытов, Аурига, CEE-SECR 2017

Утилита нагрузочного тестирования sysbench, первоначально созданная для внутреннего использования в MySQL AB и предназначенная для исследования производительности MySQL и важных с точки зрения СУБД характеристик оборудования и операционной системы, в последующие годы стала стандартом нагрузочного тестирования MySQL и используется по всему миру самыми разными организациями, от университетов до огромных корпораций.

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

CEE-SECR

October 21, 2017
Tweet

More Decks by CEE-SECR

Other Decks in Technology

Transcript

  1. October 2017, St. Petersburg Software Engineering Conference Russia October 2017,

    St. Petersburg Software Engineering Conference Russia sysbench: 
 от утилиты до универсальной платформы нагрузочного тестирования Алексей Копытов
 Аурига
  2. разрабатываю sysbench с 2004г. performance engineer, software developer, project lead

    в 
 MySQL AB/Sun/Oracle, Percona работаю с MySQL и над MySQL с 2004г. О себе
  3. используют: всей системы 
 (ФС/диск, процессор, память) MySQL О sysbench

    . . . + инструмент для генерации нагрузки создавался для тестирования:
  4. «Что будет, если …?» нагрузка удвоится к праздникам перенести базу

    на новое оборудование изменить параметр конфигурации обновить версию СУБД перейти с СУБД X на СУБД Y
  5. Сценарии на Lua пользователи определяют нагрузки на скриптовом языке (через

    hooks) sysbench делает всю «тяжёлую» работу:
 потоки, PRNG, статистика, …
  6. Почему Lua? эталон скорости для скриптовых языков создан для встраивания

    в C/C++ простой, но выразительный LuaJIT = “нативная” скорость + FFI библиотека
  7. sysbench 1.0 масштабируется на современное железо расширенный API для статистики

    и отчётов возможность подключения сторонних библиотек Универсальность MySQL Application of the Year 2017
  8. Экосистема Lua Библиотеки для всех популярных, форматов файлов, сетевых протоколов,

    СУБД, … $ luarocks install lua-http request = require(“http.request”) r = request.new_from_uri(“http://example.com”)
 function event()
 r:go() end Пакетный менеджер LuaRocks
 (похож на RubyGems, Pip, Npm, PEAR, 
 CPAN, …)
  9. LinkBench, iibench, YCSB Популярные нагрузки Что дальше? sysbench faker sysbench

    report sysbench playback sysbench tune MongoDB Tarantool NoSQL СУБД подключаемые модули документация репозиторий модулей и бенчмарков http://sysbench.io