Изменения документа Тест. Параллельный Produce

Редактировал(а) Alexandr Fokin 2023/05/10 11:43

От версии 4.16
отредактировано Alexandr Fokin
на 2023/05/10 11:43
Изменить комментарий: К данной версии нет комментариев
К версии 1.1
отредактировано Alexandr Fokin
на 2020/07/08 10:10
Изменить комментарий: К данной версии нет комментариев

Сводка

Подробности

Свойства страницы
Родительский документ
... ... @@ -1,1 +1,1 @@
1 -Разработка.NET.Работа с брокерами сообщений.Confluentinc\. Confluent-kafka-dotnet.Сценарии.WebHome
1 +Разработка.Очереди сообщений.Apache Kafka.WebHome
Теги
... ... @@ -1,1 +1,0 @@
1 -Тестирование
Содержимое
... ... @@ -1,9 +1,12 @@
1 -|Цель:(((
2 -1. Проверить поведение KafkaProducer при параллельной записи из нескольких потоков.
3 -Является ли ThreadSafe?Не будут не терять сообщения?
4 -1. Проверить Эффективность. Имеет ли смысл создавать отдельный KafkaProducer на поток или же лучше справиться Singlethon (один KafkaProducer, разделенный между всеми потоками)
5 -)))
6 -|(((
1 +
2 +Цель:
3 +1) Проверить поведение KafkaProducer при параллельной записи из нескольких потоков.
4 + Является ли ThreadSafe?
5 + Не будут не терять сообщения?
6 +2) Проверить Эффективность. Имеет ли смысл создавать отдельный KafkaProducer на поток или же лучше справиться Singlethon (один KafkaProducer, разделенный между всеми потоками)
7 +
8 +
9 +
7 7  Тестирование
8 8  Кол-во сообщений
9 9  1000
... ... @@ -11,22 +11,12 @@
11 11  Потоки
12 12  50
13 13  5
14 -)))
15 -|Результаты:
16 -|Выводы:
17 -1) KafkaProducer хорошо показал себя при параллельной отправке из нескольких потоков.
18 -2) Версия Singlethon показала себя немного лучше, чем несколько параллельных KafkaProducer. По данному тестированию нет смысла создавать несколько экземпляров KafkaProducer при параллельной отправке.
19 -При этом, создание большого кол-ва KafkaProducer может привезти к очень сильным задержкам в работе программы.
20 -Возможно имеет смысл применить концепцию пакетной обработки с накопительным буфером. (upd: producer клиент из коробки поддерживает данный функционал, конфигурируется через параметры).
21 -|(((
22 -Ссылки:
23 23  
24 -Is Producer thread safe?
25 -https://github.com/confluentinc/confluent-kafka-dotnet/issues/1096
18 +Результаты:
26 26  
27 -Frequently asked questions
28 -https://github.com/edenhill/librdkafka/wiki/FAQ#is-the-library-thread-safe
29 29  
30 -Producer
31 -https://github.com/confluentinc/confluent-kafka-dotnet/wiki/Producer
32 -)))
21 +
22 +Выводы:
23 +1) KafkaProducer хорошо показал себя при параллельной отправке из нескольких потоков.
24 +2) Версия Singlethon показала себя немного лучше, чем несколько параллельных KafkaProducer. По данному тестированию нет смысла создавать несколько экземпляров KafkaProducer при параллельной отправке.
25 +