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

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

От версии 4.16
отредактировано Alexandr Fokin
на 2023/05/10 11:43
Изменить комментарий: К данной версии нет комментариев
К версии 4.15
отредактировано Alexandr Fokin
на 2023/05/10 11:38
Изменить комментарий: Update document after refactoring.

Сводка

Подробности

Свойства страницы
Содержимое
... ... @@ -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,22 @@
11 11  Потоки
12 12  50
13 13  5
14 -)))
15 -|Результаты:
16 -|Выводы:
17 +
18 +Результаты:
19 +
20 +
21 +
22 +Выводы:
17 17  1) KafkaProducer хорошо показал себя при параллельной отправке из нескольких потоков.
18 18  2) Версия Singlethon показала себя немного лучше, чем несколько параллельных KafkaProducer. По данному тестированию нет смысла создавать несколько экземпляров KafkaProducer при параллельной отправке.
19 19  При этом, создание большого кол-ва KafkaProducer может привезти к очень сильным задержкам в работе программы.
20 -Возможно имеет смысл применить концепцию пакетной обработки с накопительным буфером. (upd: producer клиент из коробки поддерживает данный функционал, конфигурируется через параметры).
21 -|(((
22 -Ссылки:
26 +Возможно имеет смысл применить концепцию пакетной обработки с накапительным буфером.
23 23  
24 -Is Producer thread safe?
25 -https://github.com/confluentinc/confluent-kafka-dotnet/issues/1096
26 26  
27 -Frequently asked questions
29 +Ссылки:
30 +https://github.com/confluentinc/confluent-kafka-dotnet/issues/1096
28 28  https://github.com/edenhill/librdkafka/wiki/FAQ#is-the-library-thread-safe
29 -
30 -Producer
31 31  https://github.com/confluentinc/confluent-kafka-dotnet/wiki/Producer
32 -)))
33 +
34 +
35 +