У меня возникла небольшая проблема с попыткой PoC Hyperledger Fabric в среде AWS EC2.
У меня настроена сеть с 3 оргами, 3 пирами (по 1 пиру), 2заказчики, 4 кафки, 3 зоопарка.Каждая организация находится в отдельном экземпляре, и Ordering + Kafka + Zookeeper совместно используют один и тот же экземпляр.Я также использую Node SDK 1.2 в другом экземпляре.
Казалось, что все работало нормально, пока я не попробовал тест производительности с использованием Artillery из другого экземпляра.Прежде всего, я не смог получить высокую производительность, когда попробовал провести тестирование со многими пользователями одновременно (около 50), сеть, казалось, рухнула.Графика от Artillery показывает нестабильную производительность, и затем она полностью умирает.
Теперь второе и самое важное, когда я снизил нагрузку до 5 одновременных пользователей, проблемы с производительностью исчезли, но я заметил, что через некоторое время экземпляр со службами заказа, Kafka и Zk не хватает места на диске .Я провел небольшое исследование и обнаружил огромное количество данных в моем каталоге / var / lib / docker / overlay2.
В некоторых больших контейнерах я нашел каталог kafka-logs с файлами 1gb .log.Мне удалось нанести один, и он показал некоторые сертификаты следующим образом
НАЧАТЬ СЕРТИФИКАТ
[...]
КОНЕЦ СЕРТИФИКАТА повторить
Это было разделение файлов по 1 ГБ и сохранение многих из них, скажем, 3Gb за 30 минут.
Я пытался использовать вращение docker log в моем compose, а также в daemon.json:
logging:
driver: "json-file"
options:
max-size: "1m"
max-file: "3"
На самом деле он работал в каталоге / var / lib / docker / Containers, где файлы .log ограничены 1 МБ и 3 файлами максимум.Но проблема с оверлеем 2 сохраняется.
Мой docker composer для kafka:
kafka:
image: hyperledger/fabric-kafka:0.4.10
restart: always
environment:
- KAFKA_MESSAGE_MAX_BYTES=103809024 # 99 * 1024 * 1024 B
- KAFKA_REPLICA_FETCH_MAX_BYTES=103809024 # 99 * 1024 * 1024 B
- KAFKA_UNCLEAN_LEADER_ELECTION_ENABLE=false
- KAFKA_MIN_INSYNC_REPLICAS=2
- KAFKA_DEFAULT_REPLICATION_FACTOR=3
- KAFKA_ZOOKEEPER_CONNECT=zookeeper0.example.com:2181,zookeeper1.example.com:2181,zookeeper2.example.com:2181
- log.retention.bytes = 1000000
- log.retention.ms = 30000
logging:
driver: "json-file"
options:
max-size: "1m"
max-file: "3"
Как вы видите, я также пробовал log.retention.bytes = 1000000, но я не уверен, что этоправильное использование параметров, потому что это не имело никакого эффекта.
Также перезапущена служба Docker.Я боролся с этим в течение недели, поэтому я уже попробовал наиболее распространенные решения, которые я нашел в Интернете.
Есть идеи?
Заранее спасибо