Аннотация:
На сегодняшний день платформа OpenStack является одной из лидирующих технологий в области построения облачных сервисов. Keystone — это один из основных сервисом платформыOpenStack. Данный компонент отвечает за аутентификацию и авторизацию пользователей в системе. Keystone является сильнонагруженным сервисом в инфраструктуре OpenStack, поскольку любое взаимодействие между сервисами происходит через Keystone. Таким образом, увеличение числа пользователей облачным сервисом значительно усиливает нагрузку на Keystone. В этой статье мы обращаем внимание на проблему деградации данного сервиса при постоянной нагрузке. Чтобы найти причину такого поведения, мы протестировали сервис Keystone с различными СУБД (MariaDB, PostgreSQL), HTTP-серверами (Apache2, nginx) и физическими устройствами хранения данных (HDD, SSD и tmpfs в оперативной памяти). Использование различных конфигураций для запуска Keystone было необходимо, чтобы сузить поиск причины возникающей деградации. Все тесты запускались через тестирующую систему OpenStack Rally. В качестве результата мы обнаружили, что система начинает довольно быстро деградировать при достаточно слабых нагрузках. Так же было отмечено, что подобная деградация возникает во всех возможных конфигурациях. С целью подтвердить, что подобное поведение Keystone является неудовлетворительным, мы реализовали макетный сервис, который выполняет простейшие функции Keystone. Подобный сервис отказался значительно быстрее самого Keystone. Мы предполагаем, что проблема с Keystone может возникать в результате реализации внутренней логики приложения, либо неэффективного взаимодействия с другими компонентами. Поиск причин является следующим этапом нашего исследования.