Привет, Хабр! Сегодня хотели бы поделиться историей разработки сервиса видеоконференций, рассказав о процессе создания продукта и его развитии. Итак, пару лет назад Jazz by Sber позиционировался и развивался как приложение для звонков между пользователями умных устройств Сбера. Довольно быстро он стал одним из основных сервисов для онлайн-общения внутри компании и быстроразвивающимся b2b-продуктом для массового рынка с AI и голосовым управлением.
Под катом рассказываем, как сервис взрослел и развивался, что сыграло решающую роль при выборе пути его развития, плюс какие технические сложности нам пришлось преодолеть для создания качественного продукта.
Данная статья касается современных линуксов. Например, RHEL6 с ядрами 2.6.3х — подойдёт, а вот RHEL5 с ядрами 2.6.18 (кстати, наиболее популярный в продакшне) — увы, нет. И ещё — здесь не будет описания ядерных отладчиков или скриптов SytemTap; только старые-добрые простые команды вида «cat /proc/PID/xyz» в отношении некоторых полезных узлов файловой системы /proc.
Диагностика «тормозящего» процесса
Вот хороший пример часто возникающей проблемы, которую я воспроизвёл на своём лаптопе: пользователь жалуется, что команда find работает «значительно медленнее», при этом не возвращая никаких результатов. Зная, в чём дело, мы решили проблему. Однако меня попросили изложить систематический подход к решению подобных задач.
К счастью, система работает под управлением OEL6, т.е. на достаточно свежем ядре (а именно — 2.6.39 UEK2)