Допис
Діліться своїми знаннями.
Який найкращий спосіб оцінити пропускну здатність транзакцій Sui?
Я досліджую претензії щодо ефективності Sui і хочу порівняти пропускну здатність транзакцій на Testnet. Які інструменти та методології слід використовувати?
- Sui
- SDKs and Developer Tools
Відповіді
4Щоб ефективно оцінити пропускну здатність транзакцій Sui, вам слід скористатися офіційним sui-benchmark
інструментом або написати власний сценарій тестування навантаження за допомогою SDK Sui (наприклад, TypeScript або Rust), орієнтуючись на локальну мережу або середовище testnet. Якщо ви використовуєтеsui-benchmark
, почніть з обертання локальної мережіsui-test-validator
, а потім запустіть інструмент порівняння з кількома одночасними транзакціями - це допомагає імітувати реалістичне навантаження та спостерігати, скільки транзакцій в секунду (TPS) мережа обробляє під напругою. Вам потрібно виміряти про��ускну здатність як під час пікових, так і під час простою навантажень, контролювати використання газу та перевіряти затримку на транзакцію. Якщо ви віддаєте перевагу більшому контролю, створіть скрипт, який надсилає прості блоки транзакцій (наприклад, перенесення об'єктів або виклики Move) за допомогою SDK Sui TypeScript з високою паралельністю та часовими партіями.
Ось приклад CLI для запуску localnet:
sui-test-validator
Потім скористайтеся інструментом «Іржа»:
cargo run --release --bin sui-benchmark -- --target-qps 1000 --duration 60
Ви також можете зробити порівняння з програми Node.js, використовуючи для Promise.all()
паралельного надсилання багатьох транзакцій через SuiClient. Просто не забудьте контролювати процесора/пам'ять, якщо ви тестуєте локально, оскільки обмеження на обладнання можуть вплинути на результати.
Щоб дізнатися більше або отримати інструмент порівняльного аналізу: https://github.com/MystenLabs/sui/tree/main/crates/sui-benchmark
Дайте мені знати, якщо вам потрібен зразок сценарію бенчмаркінгу в Node або посібник для профілювання на devnet.
Щоб порівняти пропускну здатність транзакцій Sui, використовуйте SDK Sui TypeScript для створення великого обсягу транзакцій з мінімальним загальним станом. Зосередьтеся на операціях із залученням власних об'єктів, щоб максимізувати паралельне виконання. Пакетні команди з використанням програмованих блоків транзакцій (PTB) та вимірювання транзакцій за секунду (TPS) протягом фіксованої тривалості. Використовуйте sui_getTransactionBlocks
для аналізу результатів. Запустіть тести щодо стабільної кінцевої точки RPC та переконайтеся, що ваше навантаження дозволяє уникнути вузьких місць, таких як суперечка спільних об'єктів. Для точності повторюйте тести протягом декількох епох та використовуйте Sui Testnet або середовище локальної мережі.
Щоб оцінити пропускну здатність транзакцій Sui на Testnet, ось що ви можете зробити:
https://fullnode.devnet.sui.io:5001
Налаштування Testnet: Підключіться до Testnet Sui (використовуйте загальнодоступну URL-адресу RPC).
2.Використовуйте інструменти порівняльного аналізу: Використовуйте вбудовані інструменти порівняльного аналізу Sui або створіть власні сценарії за допомогою SDK Sui, щоб паралельно надсилати кілька транзакцій.
3.Виміряйте TPS та затримку: Відстежуйте транзакції в секунду (TPS) та тривалість підтвердження транзакцій. Для цього можна використовувати такі ��нструменти, якwrkабоApache JMeter.
4.Моніторинг продуктивності мережі: Слідкуйте за статистикою мережі за допомогою таких інструментів, якPrometheusабоGrafana, або перевірте інформаційну панель Testnet Sui, якщо вона доступна.
5.Стрес-тест: натисніть систему, подавши велику кількість транзакцій, щоб побачити, як вона справляється під навантаженням.
Це дасть вам гарне уявлення про пропускну здатність транзакцій Sui та про те, як вона працює під час стресу.
*Для порівняння пропускної здатності транзакцій Sui в Testnet використовуйте офіційний інструмент Sui Benchmarker або власні сценарії з Sui CLI. Створіть велику кількість власних об'єктів транзакцій, щоб максимізувати паралельне виконання та імітувати реалістичні робочі навантаження. Уникайте спільних об'єктів, якщо не тестувати вузькі місця, оскільки вони серіалізують виконання та знижують пропускну здатність. Розгорніть локальний повнонод або набір валідаторів, якщо потрібні більш глибокі показники або налаштування. Використовуйте кінцеві точки метрики або журнали для моніторингу TPS, затримки та невдалих транзакцій під час стрес-тестів. Запустіть контрольні показники в контрольованих середовищах із послідовними мережевими та машинними умовами, щоб забезпечити відтворюваність. Пакетні транзакції в блоках або послідовностях та відстежуйте час виконання за допомогою міток часу та журналів відповідей. Проаналізуйте використання системних ресурсів, щоб виявити обмеження процесора, пам'яті або вводу/виводу, які можуть вплинути на пропускну здатність. Тестуйте під різними типами транзакцій - чистими, власними та спільними -, щоб зрозуміти компроміси продуктивності. Використовуйте Prometheus і Grafana з телеметрією вузлів для більш глибокої інформації в режимі реального часу під час тестування. *
Ви знаєте відповідь?
Будь ласка, увійдіть та поділіться нею.
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Зароби свою частку з 1000 Sui
Заробляй бали репутації та отримуй винагороди за допомогу в розвитку спільноти Sui.

- Чому BCS вимагає точного порядку полів для десеріалізації, коли структури Move мають названі поля?55
- Помилки перевірки кількох джерел» у публікаціях модуля Sui Move - автоматичне вирішення помилок45
- Невдала операція Sui: об'єкти, зарезервовані для іншої транзакції48
- Помилка Sui Move - Неможливо обробити транзакцію Не знайдено дійсних газових монет для транзакції29
- Як обмеження здібностей взаємодіють з динамічними полями в гетерогенних колекціях?07