Brouillon. Les chiffres ci-dessous proviennent d'un seul test de charge interne. Le matériel, le nombre de nœuds, la version du logiciel et le type de transaction restent à ajouter ; la page demeure donc non indexée tant qu'ils ne le sont pas.
Cette page indique comment Bitroot mesure le débit, dans quelles conditions, et comment les chiffres peuvent être reproduits. L'objectif de conception et le résultat mesuré sont présentés séparément. Chaque chiffre mesuré nomme l'exécution dont il provient.
1. Objectifs et mesures
| Métrique | Objectif de conception | Dernière mesure | Exécution |
|---|---|---|---|
| Débit (TPS) | 100,000+ | 36,430.68 tx/s, en moyenne sur toute l'exécution, de la première à la dernière transaction enregistrée | Test de charge de 30,000,000 de transactions, section 4 |
| Temps de finalité | À déterminer | À déterminer | Non couvert par cette exécution |
| Temps de bloc | À déterminer | À déterminer | Non couvert par cette exécution |
Le débit mesuré est inférieur à l'objectif de conception. L'objectif décrit ce que l'architecture est conçue pour atteindre. La mesure décrit ce qu'une seule exécution a produit.
2. Définitions
Le TPS désigne ici le débit côté chaîne : le nombre de transactions enregistrées dans des blocs divisé par le temps écoulé entre la première et la dernière transaction enregistrée. Ce n'est pas la cadence à laquelle le générateur de charge a envoyé les transactions. Pour le vocabulaire général, voir le Glossaire des métriques de performance.
TODO(engineering) : préciser si la surcharge du consensus et du réseau est incluse, et comment les transactions échouées seraient comptées. Dans cette exécution, aucune n'a échoué.
3. Environnement de test
| Élément | Valeur |
|---|---|
| Mode d'exécution | mempool |
| Mode de nonce | local |
| Signataires | 500 |
| Mempool TXs | 100,000 |
| Pourboire (tip) | 5,000,000,000 wei (5 gwei) |
| Réseau | À déterminer (testnet, devnet ou cluster isolé) |
| Nombre de nœuds et rôles | À déterminer |
| Matériel par nœud (CPU, mémoire, disque, réseau) | À déterminer |
| Répartition géographique et latence | À déterminer |
| Version du logiciel et commit | À déterminer |
| Date d'exécution | À déterminer |
L'outil de charge indique également un paramètre de blocs de 300 et une taille de segment de 0 KB. TODO(engineering) : expliquer la signification de ces deux paramètres avant de les publier comme conditions de test.
4. Charge de travail et résultats
| Élément | Valeur |
|---|---|
| Transactions prévues | 30,000,000 |
| Transactions envoyées | 30,000,000 |
| Transactions enregistrées | 30,000,000 |
| Échecs d'envoi | 0 |
| Nouvelles tentatives | 0 |
| Taux de réussite | 100.00% |
| Durée d'envoi | 805.19 s |
| Débit côté chaîne | 36,430.68 tx/s |
TODO(engineering) : préciser le type de transaction. Le rapport indique le destinataire comme « default » sans dire si l'exécution a utilisé des transferts natifs, des transferts de jetons ou des appels de contrat. Les chiffres obtenus avec de simples transferts constituent une borne supérieure pour les applications réelles ; cela doit donc être indiqué à côté du résultat. Voir aussi Points chauds dans les charges de travail EVM parallèles pour comprendre comment les conflits modifient le débit.
Sortie brute
Le rapport de l'outil de charge, non modifié :
==================================================
🔥 Stress Test Report
==================================================
Total Planned: 30000000
Successfully Sent: 30000000
Duplicate Sent: 0 (already known, not counted above)
Failed to Send: 0
Landed Transactions: 30000000
Success Rate: 100.00%
Retry Attempts: 0
Signing Time: 79499764 ms (all sign_batch_txs)
Total Pause Time: 79499764 ms (incl. recharge & signing)
--------------------------------------------------
Send Duration: 805.19s
Total Duration: 805.19s (incl. waiting)
Average RPS: 46425.94 req/s (send speed)
Average TPS: 46425.94 tx/s (inclusion speed)
--------------------------------------------------
Run Mode: mempool
Nonce Mode: local
Signer Count: 500
Blocks: 300
Chunk Size: 0 KB
Tip Wei: 5000000000
Mempool TXs: 100000
To: default
Real Chain TPS: 36430.68 tx/s (first to last landed)
==================================================
L'outil affiche deux valeurs de débit. "Real Chain TPS" (36,430.68 tx/s, de la première à la dernière transaction incluse dans la chaîne) est la valeur côté chaîne utilisée sur cette page. "Average RPS" et "Average TPS" (46,425.94) ne sont pas utilisés : 30,000,000 de transactions en 805.19 s donnent environ 37,257 tx/s, ce qui ne correspond pas.
TODO(engineering) : expliquer comment l'outil calcule "Average TPS" et ce que mesurent les lignes "Signing Time" et "Total Pause Time" (79,499,764 ms chacune), afin que le lecteur puisse réconcilier le rapport.
5. Reproduire les résultats
TODO(engineering) : lier l'outil de test de charge, le commit exact, la ligne de commande et la configuration, ainsi que la sortie brute.
6. Limites connues
- Une seule exécution ne représente pas une charge de production soutenue. Elle montre ce que le réseau a fait pendant environ 13 minutes avec cette configuration.
- La charge est un scénario unique. Le débit sous forte contention, par exemple lorsque de nombreuses transactions touchent le même contrat, n'est pas couvert.
- Le résultat s'applique à l'environnement ci-dessus une fois celui-ci renseigné, et à aucun autre.
7. Vérification indépendante
TODO(product) : lier toute mesure ou tout rapport d'audit de tiers, avec l'organisation, le périmètre et la date. Si aucun n'existe encore, l'indiquer ici.
8. Journal des modifications
| Date | Modification |
|---|---|
| À déterminer | Première publication : test de charge de 30,000,000 de transactions |