На основании результатов тестирования можно сделать следующие выводы по каждому из сценариев.
Сценарий 1
Текущая производительность в 1000 транзакций в секунду является «крейсерской»: в таком режиме работы ресурсов, выделенных узлу, более чем достаточно, узел работает стабильно. Для дальнейшего увеличения пропускной способности пользователи платформы могут снять ограничение, которое не позволяет совершить более 500 транзакций на 1 микроблок. Оно установлено как рекомендованное для смешанного сценария нагрузки платформы с целью недопущения появления блоков чрезмерно больших размеров, которые в некоторых случаях могут вызвать нестабильное сетевое взаимодействие и поведение узлов.
Сценарий 2
Тест подтвердил, что пропускная способность в 16 Мбит в секунду — стандартный режим работы платформы.
Функционирование блокчейн-сети в этом сценарии предъявляет повышенные требования к вычислительным ресурсам — в первую очередь, к дисковой подсистеме. Для стабильной работы узлов в данном сценарии лучше использовать быстрые HDD или SSD диски.
Для дальнейшего увеличения пропускной способности сети возможно применить горизонтальное масштабирование узлов. Также команда разработки Waves Enterprise на постоянной основе работает над оптимизацией ресурсоемких операций.
Сценарий 3
В ходе проведения нагрузочного тестирования в этом сценарии была выявлена зависимость пропускной способности сети от времени исполнения смарт-контракта и полезной нагрузки, подаваемой в него в качестве аргументов.
Максимальная пропускная способность ожидаемо была достигнута на «быстрых» смарт-контрактах с небольшой полезной нагрузкой в 0,1 Кбайт. Опираясь на наш опыт, можно говорить о том, что для большинства кейсов автоматизации бизнес-процессов на блокчейне используются транзакции вызова контракта размером 2–4 Кбайт.
Учитывая это, а также то, что зависимость пропускной способности сети от размера полезной нагрузки не является линейной, можно считать, что пропускная способность для большинства кейсов будет приближена к максимальной.
Для более стабильной работы смарт-контрактов под нагрузкой стоит выделить достаточное количество оперативной памяти машине, на которой исполняются контракты.
Планы по дальнейшему развитию
Развитие смарт-контрактов является одной из приоритетных задач для команды Waves Enterprise, а скорость их работы увеличивается с каждым релизом. В настоящий момент на этапе R& D и прототипирования находятся несколько решений, которые позволят кратно увеличить пропускную способность сети в этом сценарии.
***
Более подробно с методикой и результатами можно будет ознакомиться в полном отчете о нагрузочном тестировании, который будет опубликован в ближайшие дни.