Search
Write a publication
Pull to refresh
12
7
Alexander Kardapolov @akardapolov

User

Send message

Нагрузочное тестирование выполнять сложно, а инструменты далеки от совершенства. Почему?

Reading time5 min
Views13K


Если вы создаёте приложение, которое должно масштабироваться — а все мы надеемся, что наши приложения будут расти — то в определённый момент нам приходится разбираться, может ли оно это делать на самом деле. Именно тогда на помощь приходит нагрузочное тестирование: если вы хотите узнать, справится ли ваше приложение с крупными масштабами, то мы просто генерируем эти масштабы и проверяем! Звучит достаточно просто.

Но потом мы пробуем действительно сгенерировать нагрузку. Это делается легко, только если ваше приложение ужасно простое, ведь тогда можно использовать что-нибудь типа Apache JMeter для генерации повторяющихся запросов. Если у вас это получится, то я вам завидую: все системы, с которыми мне приходилось работать, сложнее и требовали более изощрённой схемы тестирования.

Если ваше приложение становится чуть сложнее, то вы переходите к инструментам наподобие Gatling. Они позволяют симулировать виртуальных пользователей, выполняющих различные сценарии, что намного полезнее, чем простая осада одного или нескольких URL. Но даже этого недостаточно, если вы пишете приложение, использующее одновременно WebSockets и HTTP-вызовы в течение долговременной сессии, а также требующее повторения по таймеру определённых действий. Возможно, я серьёзно недоглядел чего-то в документации, но мне не удалось найти способа, допустим, настроить периодическое событие, запускаемое каждые 30 секунд и выполняющее определённые действия при ответе на сообщение WebSocket, а также производящее действия по HTTP, и всё это в рамках одной HTTP-сессии. Я не нашёл такой возможности ни в одном инструменте нагрузочного тестирования (и именно поэтому написал на работе свой собственный инструмент, который надеюсь выложить в open source, если найду время на подчистку кода и отделения его от проприетарных частей).
Читать дальше →

Мониторинг бизнес-процессов Camunda

Reading time10 min
Views12K

Привет, Хабр.

Меня зовут Антон и я техлид в компании ДомКлик. Создаю и поддерживаю микросервисы позволяющие обмениваться данными инфраструктуре ДомКлик с внутренними сервисами Сбербанка.

Это продолжение цикла статей о нашем опыте использования движка для работы с диаграммами бизнес-процессов Camunda. Предыдущая статья была посвящена разработке плагина для Bitbucket позволяющего просматривать изменения BPMN-схем. Сегодня я расскажу о мониторинге проектов, в которых используется Camunda, как с помощью сторонних инструментов (в нашем случае это стек Elasticsearch из Kibana и Grafana), так и «родного» для Camunda — Cockpit. Опишу сложности, возникшие при использовании Cockpit, и наши решения.
Читать дальше →

Apache Kafka в вопросах и ответах

Reading time29 min
Views28K

Что такое Kafka? Где стоит, а где не стоит применять этот инструмент? Чем Kafka отличается от RabbitMQ и других брокеров сообщений? Как её правильно эксплуатировать? Всё это обсудили на митапе «Apache Kafka в вопросах и ответах», который Слёрм провёл в ноябре 2020. В разговоре участвовали спикеры из Авито, Stripe, ITSumma и Confluent. Запись митапа доступна на YouTube, а текстовую версию разговора читайте ниже.


Читать дальше →

DALL·E от OpenAI: Генерация изображений из текста. Один из важнейших прорывов ИИ в начале 2021 года

Reading time5 min
Views80K

Пару дней назад мы подводили ИИ итоги 2020-го года в мире машинного обучения. 2021-й год только начался, но мы определенно видим одну из важнейших работ в области ИИ текущего года.

Итак, исследователи в области искусственного интеллекта из OpenAI создали нейронную сеть под названием DALL·E, которая генерирует изображения из текстового описания на естественном языке.

Давайте посмотрим что из себя представляет, и на что способна эта нейронная сеть?

Поехали!

Менеджмент будущего. Без начальников, переработок и KPI

Reading time6 min
Views19K

Нанимай людей сильнее себя, сам решай, над чем работать, отдыхай за счёт компании, работай без начальника — и другие удивительные принципы компания Valve опубликовала в своем руководстве для новых сотрудников.

Читать далее

Фреймворк Camel: сравнение компонентов HTTP и AHC

Reading time5 min
Views2.5K

В данной статье производится сравнение работы простейших сервисов реализованных с помощью фреймворка Camel и двух его компонентов: HTTP и AHC. Углубляться в структуру и работу с самим фреймворком не будем, предполагается что читатель уже немного знаком с ним.

Читать далее

Perry Como и Present Perfect — Веселого Рождества

Reading time4 min
Views2.4K

Дорогие друзья! Merry Christmas, Счастливого Рождества, и с наступившим-таки Новым Годом!

А я как обычно воспользуюсь случаем и позанудствую по-нашему, по-училкински.

Во многих музыкальных рождественско-новогодних плейлистах есть очень нежная и вдумчивая песня I Know What God Is в исполнении американского певца итальянского происхождения Perry Como. Один из лучших голосов прошлого столетия, попеременно делившего первенство с Фрэнком Синатрой. Уникальный проникновенный баритон и особая манера исполнения сделали Перри Комо любимцем нации.

Песня I Know What God Is была написана и исполнена в послевоенные годы – и этот факт особенно подчеркивает смысл текста.

Но, как вы знаете, училка – это диагноз. И слушая ее недавно, я поймала себя на мысли, что она является прекрасной иллюстрацией к случаям употребления Present Perfect.

Эта временнАя форма представляет, пожалуй, наибольшую сложность для изучающих английский. Зачем оно, чем англичан не устраивало старое доброе Past Simple? Да еще и преподаватели стращают этим have/has + V3…

Если не мудрствовать, а просто прочитать и перевести предложения в Present Perfect, то смысл его становится понятен. Но давайте начнем с факта, который вызывает у изучающих когнитивный диссонанс. На русский язык предложения в Present Perfect переводятся прошедшим временем:

I have written an essay. Я написаЛА сочинение.

He has finished his work. Он закончиЛ работу.

Но в английском языке Present Perfect входит в группу настоящих времен.

???

Чтобы в этом непотребстве разобраться, давайте просто услышим то, что говорит нам эта временнАя форма своим названием:

Present. Настоящее.

Perfect. Совершённое. (По большом счету, совершЕнное и совершЁнное в русском языке одно и то же).

То есть это время нам говорит о чем-то, что было совершено. Perfect.

И имеет какое-то отношение к настоящему. Present.

Не очень пока понятно?

Давайте, что называется, тупо переведем, что конкретно там говорится. А для этого вспомним, что такое это V3.

Понятно, что это третья форма глагола.

Читать далее

О бедном «дистанте» замолвите слово

Reading time7 min
Views12K

 Я, как мне кажется, никогда не видел, чтобы какой-то вопрос вызывал такую мощную волну негатива, как дистанционное образование. По-моему, даже повышение пенсионного возраста прошло более гладко. Как представителю семьи, в которой уже есть несколько поколений педагогов, тема образования мне очень близка и интересна. Как человеку, который давно и успешно обучается онлайн, такой шквал критики при практически полном отсутствии положительных отзывов, непонятен. Появилось желание разобраться в ситуации. И чем больше я читал комментарии противников, тем понятнее становилось, что народный гнев вызван не самим "дистантом", а тем бардаком, который случился в начале карантина и продолжается до сих пор. Попытка пустить современный сверхскоростной поезд онлайн-обучения по насквозь проржавевшим рельсам советской системы образования предсказуемо закончилась падением под откос "всего школьного состава".  Так у меня и появилась идея написать статью в защиту моего любимого формата.

Читать далее

Мониторинг и профилирование Spring Boot приложения

Reading time13 min
Views42K

Мониторинг очень важен для современных приложений, современные приложения по своей природе сильно распределены и имеют разные зависимости, такие как база данных, службы, кеширование и многое другое. Поэтому все более важны отслеживание и мониторинг этих служб, чтобы приложение придерживалось условий SLA ( Service Level Agreement). SLA — это соглашение между клиентом и поставщиком услуг, в нем учитываются надежность, скорость отклика и другие показатели уровня обслуживания.

Мы всегда стараемся не нарушать никаких SLA, нарушение любой части SLA может иметь множество последствий. Если услуга не соответствует условиям, определенным в SLA, она можкт нанести ущерб репутации бренда и привести к потери дохода. Хуже всего то, что компания может потерять клиента в пользу конкурента из-за своей неспособности удовлетворить требования клиента к уровню обслуживания.

Читать далее

Почему хабражители предпочитают велосипеды, вместо готовых решений? Или о systemd, part 0

Reading time4 min
Views36K

С Новым Годом Хабр!
Первого января все нормальные люди занимаются прокрастинацией, уничтожением стратегического запаса оливье и прочими, не связанными с физической или интеллектуальной нагрузкой вещами. Вот и я планировал присоединиться к этой новогодней армии, но не тут-то было!

Во всём виноват Хабр!

ИИ итоги 2020-го года в мире машинного обучения

Reading time3 min
Views11K

Подведем основные итоги уходящего года в мире машинного обучения. Рассмотрим самые громкие открытия в мире компьютерного зрения, обработки естественного языка, генерации изображений и видео, а также крупный прорыв в области биологии. Коротко о самом главном за год!

Поехали!

Как сделать ёлку, если ты математик

Reading time1 min
Views13K

Весь рисунок - это набор математических функций от двух аргументов, x и y. Все они так или иначе базируются на SDF. Для рисования графиков использовался desmos.com.

Читать далее

Легкие обновления

Reading time2 min
Views1.9K
Напоследок немного новостей о «смотрелке» для логов chipmunk. Ничего особенного, никаких кардинальных изменений или же заметных фитч, а скорее работа над ошибками, да и просто хочется сказать пару слов о прошедшем, настоящем и будущем.
Читать дальше →

Postgresso 27

Reading time9 min
Views4.4K


Ну и год выдался! Подходит к концу. 21-му надо изрядно постараться, чтобы стать хуже. Но он — надеемся — стараться не будет. А жизнь продолжается. И мы продолжаем знакомить вас с самыми интересными новостями PostgreSQL.

Но сначала поделимся воспоминаниями: как проводил время на хабре отдел образования компании Postgres Professional:
Читать дальше →

Человеческое эго и стремления — движущие силы инженерных решений

Reading time5 min
Views3.7K
Вы думаете, что выбираете технологию потому, что она подходит требованиям? Вы можете ошибаться.

Давайте начнём с примера, который, возможно, вдохновлён реальной ситуацией. Команде необходимо подобрать брокера событий. Претендента два — Kafka и Pulsar.

Разработчик А имеет значительный опыт с Kafka в реальных ситуациях. Упоминают сложность при масштабировании Kafka и поручаются Pulsar. Разработчик B — сторонник Kafka, так как технология стала стандартом индустрии и имеет сильную поддержку в целом. Но у команды мало опыта работы с ней. Оба согласны в том, что в обозримом будущем изменений рабочей нагрузки нет и два этих решения соответствуют требованиям. Но остальные члены команды не так самоуверенны.

После проведённых на встрече часов и сравнения с сеткой технических критериев пункт за пунктом команда выбрала Kafka. Все согласились с тем, что принятие этого решения вполне обоснованно, обоснование задокументировали, и команда приступила к внедрению.

Но раскрыты ли истинные мотивы выбора?


Приятного предновогоднего чтения!

Как научиться проектировать реляционные базы данных за полчаса

Reading time17 min
Views45K


Автоматизация сопровождает нас повсюду и является спутником и признаком прогресса, снимая с человека необходимость выполнения рутинных действий и принятия рутинных решений. Но для принятия решений о будущем необходима информация о прошлом, поэтому автоматизация неизбежно связана с необходимостью накапливать, хранить и обрабатывать данные, чем и занимаются базы данных и системы управления базами данных. Объём данных не уменьшается, а только увеличивается, поэтому я всегда говорю своим студентам: я научу вас хаскелю, но это сломает вам жизнь и не поможет найти работу базы данных – это хлеб программиста, у разработчика баз данных работа будет всегда, учитесь ораклу базам данных – и хлеб с маслом и икрой вам обеспечен. Это я так, как обычно, полемически заостряюсь для мотивации, но совсем чуть-чуть.
Читать дальше на свой страх и риск

Новогодние бенчмарки компьютеров Эльбрус

Reading time18 min
Views30K

Новогодние бенчмарки компьютеров Эльбрус


LuaBenchmarks.png


Продолжение статьи Большое тестирование процессоров различных архитектур. В этот раз я решил измерить производительность конкретных сред/языков программирования (C#, Java, JavaScript, Python, Lua) на компьютерах с процессорами Эльбрус и сравнить их с компьютерами (даже телефонами) на процессорах архитектурой ARM и X86-64.


Языки программирования:


  • C#
  • PHP
  • JavaScript (Browser, не NodeJS)
  • Java
  • Python
  • Lua

Список тестов



Но сперва приведу результаты нативных бенчмарков на языке C, а также результаты других популярных бенчмарков.

Читать дальше →

Как сделать хорошую интеграцию? Часть 1

Reading time11 min
Views23K
Вопрос в заголовке включает в себя неочевидную часть, ведь перед тем, как рассказывать про создание хорошей интеграции стоит определить, какую интеграцию мы считаем хорошей. А ответ на этот вопрос не однозначен.

Что такое хорошо, определяют наши ценности, а они у всех разные. Поэтому для кого-то хорошая интеграция — это та, которую написал сам, где все красиво, и нет костылей, обходящих ошибки навязанных средств. Для других — это та, которая работает на базе надежных, проверенных временем инструментах и концепциях. А для третьих — наоборот, использующая самые современные, передовые технологии и подходы. Но это все — неверный подход, потому что опирается он на мнение создателей интеграции, а смотреть надо с позиции тех, кому эта интеграция приносит ценность.


Читать дальше →

Практический взгляд на хранение в Kafka

Reading time8 min
Views43K


Kafka повсюду. Где есть микросервисы и распределенные вычисления, а они сейчас популярны, там почти наверняка есть и Kafka. В статье я попытаюсь объяснить, как в Kafka работает механизм хранения.

Читать дальше →

Information

Rating
1,468-th
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity