Publication
Partagez vos connaissances.
Quelle est la meilleure façon de comparer le débit de transactions de Sui ?
Je fais des recherches sur les performances de Sui et je souhaite comparer le débit des transactions sur Testnet. Quels outils et méthodologies dois-je utiliser ?
- Sui
- SDKs and Developer Tools
Réponses
4Pour évaluer efficacement le débit de transactions de Sui, vous devez utiliser l'sui-benchmark
outil officiel ou écrire un script de test de charge personnalisé à l'aide du SDK Sui (par exemple, TypeScript ou Rust), ciblant un environnement de réseau local ou de réseau de test. Si vous l'utilisezsui-benchmark
, commencez par lancer un réseau local avecsui-test-validator
, puis exécutez l'outil de référence avec plusieurs transactions simultanées. Cela permet de simuler une charge réaliste et d'observer le nombre de transactions par seconde (TPS) que le réseau gère en cas de stress. Vous souhaiterez mesurer le débit pendant les pics de charge et les périodes d'inactivité, surveiller la consommation de gaz et vérifier la latence par transaction. Si vous préférez davantage de contrôle, créez un script qui soumet des blocs de transactions simples (par exemple, des transferts d'objets ou des appels Move) à l'aide du SDK Sui TypeScript avec une simultanéité élevée et des lots chronométrés.
Voici un exemple de CLI pour exécuter localnet :
sui-test-validator
Utilisez ensuite l'outil Rust :
cargo run --release --bin sui-benchmark -- --target-qps 1000 --duration 60
Vous pouvez également effectuer une analyse comparative à partir d'une application Node.js Promise.all()
en soumettant de nombreuses transactions en parallèle via le SuicClient. N'oubliez pas de surveiller le CPU/la mémoire si vous effectuez des tests localement, car les limites de votre matériel peuvent affecter les résultats.
Pour en savoir plus ou obtenir l'outil d'analyse comparative : https://github.com/MystenLabs/sui/tree/main/crates/sui-benchmark
Faites-moi savoir si vous souhaitez un exemple de script d'analyse comparative dans Node ou un guide pour le profilage sur devnet.
Pour évaluer le débit de transactions de Sui, utilisez le SDK Sui TypeScript pour générer un volume élevé de transactions avec un état partagé minimal. Concentrez-vous sur les opérations impliquant des objets détenus afin de maximiser l'exécution parallèle. Commandes par lots utilisant des blocs de transactions programmables (PTB) et mesurant les transactions par seconde (TPS) sur une durée fixe. Utilisez-le sui_getTransactionBlocks
pour analyser les résultats. Exécutez des tests sur un point de terminaison RPC stable et assurez-vous que votre charge de travail évite les blocages tels que la contention d'objets partagés. Pour plus de précision, répétez les tests sur plusieurs époques et utilisez Sui Testnet ou un environnement localnet.
Pour évaluer le débit de transactions de Sui sur Testnet, voici ce que vous pouvez faire :
https://fullnode.devnet.sui.io:5001
Configurer Testnet : connectez-vous au Testnet de Sui (utilisez l'URL RPC publique comme).
2.Utilisez les outils d'analyse comparative : Tirez parti des outils d'analyse comparative intégrés de Sui ou créez vos propres scripts à l'aide du SDK Sui pour soumettre plusieurs transactions en parallèle.
3.Mesurez le TPS et la latence : suivez les transactions par seconde (TPS) et le temps nécessaire pour confirmer les transactions. Vous pouvez utiliser des outils tels quewrkouApache JMeterpour cela.
4.Surveillez les performances du réseau : surveillez les statistiques du réseau à l'aide d'outils tels quePrometheusouGrafana, ou consultez le tableau de bord Testnet de Sui, s'il est disponible.
5.Test de résistance : faites évoluer le système en soumettant un grand nombre de transactions pour voir comment il se comporte en cas de charge.
Cela vous donnera une bonne idée du débit de transactions de Sui et de ses performances en cas de stress.
*Pour évaluer le débit de transactions de Sui sur Testnet, utilisez l'outil officiel Sui Benchmarker ou des scripts personnalisés avec la CLI Sui. Générez un grand nombre de transactions basées sur des objets détenus afin de maximiser l'exécution parallèle et de simuler des charges de travail réalistes. Évitez les objets partagés à moins de tester les goulots d'étranglement, car ils sérialisent l'exécution et réduisent le débit. Déployez un fullnode local ou un ensemble de validateurs si des mesures ou des réglages plus approfondis sont nécessaires. Utilisez des points de terminaison ou des journaux de métriques pour surveiller le TPS, la latence et les transactions ayant échoué lors des tests de résistance. Exécutez des tests de performance dans des environnements contrôlés avec des conditions de réseau et de machine cohérentes pour garantir la reproductibilité. Effectuez des transactions par lots en blocs ou en séquences et suivez les temps d'exécution à l'aide d'horodatages et de journaux de réponses. Analysez l'utilisation des ressources du système pour détecter les limites du processeur, de la mémoire ou des E/S susceptibles d'affecter le débit. Testez différents types de transactions (pures, détenues et partagées) pour comprendre les compromis en termes de performances. Utilisez Prometheus et Grafana avec la télémétrie des nœuds pour obtenir des informations plus détaillées en temps réel pendant les tests. *
Connaissez-vous la réponse ?
Veuillez vous connecter et la partager.
Sui is a Layer 1 protocol blockchain designed as the first internet-scale programmable blockchain platform.
Gagne ta part de 1000 Sui
Gagne des points de réputation et obtiens des récompenses pour avoir aidé la communauté Sui à se développer.

- Pourquoi BCS exige-t-il un ordre de champs exact pour la désérialisation alors que les structures Move ont des champs nommés ?55
- « Erreurs de vérification de sources multiples » dans les publications du module Sui Move - Résolution automatique des erreurs45
- Échec de la transaction Sui : objets réservés pour une autre transaction48
- Erreur Sui Move - Impossible de traiter la transaction Aucune pièce de gaz valide n'a été trouvée pour la transaction29
- Comment les contraintes de capacité interagissent-elles avec les champs dynamiques dans des collections hétérogènes ?07