Cette rubrique fournit des consignes aux nouveaux utilisateurs pour tester les performances d'une instance ApsaraDB RDS for MySQL et soumettre un rapport de test. Après avoir soumis un rapport, vous pouvez bénéficier de réductions supplémentaires lors du renouvellement de votre instance. Si votre rapport est jugé excellent, Alibaba Cloud vous propose des incitations substantielles.
Prérequis
Une instance ApsaraDB RDS for MySQL a été créée dans la console ApsaraDB for RDS. Pour plus d'informations, consultez Créer une instance ApsaraDB RDS for MySQL.
Une instance ECS a été créée. Pour plus d'informations, consultez Lancement personnalisé.
Informations générales
Les métriques de performance suivantes sont testées :
-
Transactions par seconde (TPS)
Nombre de transactions exécutées par l'instance RDS par seconde. Une transaction n'est considérée comme exécutée qu'après sa validation (commit).
Utilisez SysBench pour tester les performances du traitement transactionnel en ligne (OLTP) lors de l'exécution d'une transaction en lecture/écriture composée de 18 instructions SQL de lecture et d'écriture.
Utilisez SysBench pour tester les performances OLTP lors de l'exécution d'une transaction en lecture seule composée de 14 instructions SQL de lecture : 10 instructions servent à interroger les données selon les clés primaires et 4 instructions servent à interroger les données selon des plages spécifiées.
Utilisez SysBench pour tester les performances OLTP lors de l'exécution d'une transaction en écriture seule composée de quatre instructions SQL d'écriture : deux instructions UPDATE, une instruction DELETE et une instruction INSERT.
-
Requêtes par seconde (QPS)
Nombre d'instructions SQL exécutées par l'instance RDS par seconde. Ces instructions incluent INSERT, SELECT, UPDATE, DELETE et COMMIT.
Paramètres SysBench
|
Paramètre |
Description |
|
db-driver |
Moteur de base de données utilisé par l'instance RDS. |
|
mysql-host |
Endpoint utilisé pour se connecter à l'instance RDS. |
|
mysql-port |
Port utilisé pour se connecter à l'instance RDS. |
|
mysql-user |
Nom d'utilisateur du compte utilisé pour gérer l'instance RDS. |
|
mysql-password |
Mot de passe du compte utilisé pour gérer l'instance RDS. |
|
mysql-db |
Nom de la base de données de l'instance RDS |
|
table_size |
Taille des tables utilisées pour le test. |
|
tables |
Nombre de tables utilisées pour le test. |
|
events |
Nombre de requêtes envoyées pour le test. |
|
time |
Durée du test. |
|
threads |
Nombre de threads invoqués pour le test. |
|
percentile |
Pourcentage des durées d'exécution à analyser lors du test afin d'obtenir une durée d'exécution moyenne. La valeur par défaut est 95 %. Elle permet d'obtenir le temps moyen nécessaire à l'exécution d'une requête pour 95 % de tous les scénarios. |
|
report-interval |
Intervalle de temps auquel vous souhaitez générer un rapport sur la progression du test. La valeur 0 indique qu'aucun rapport de progression ne doit être généré, mais seulement un rapport de test final. |
|
rand-type |
Type de distribution de nombres aléatoires. Valeur par défaut : special. Dans ce test, uniform est utilisé. |
Procédure de test
-
Connectez-vous à votre instance ECS et exécutez les commandes suivantes pour installer SysBench :
sudo yum install gcc gcc-c++ autoconf automake make libtool mysql-devel git mysql git clone https://github.com/akopytov/sysbench.git ## Download the SysBench software package from GitHub. cd sysbench ## Open the SysBench installation directory. git checkout 1.0.18 ## Switch to SysBench 1.0.18. ./autogen.sh ## Execute the autogen.sh script. ./configure --prefix=/usr --mandir=/usr/share/man make ## Compile SysBench. make install -
Testez les performances OLTP pour l'exécution de transactions en lecture/écriture, en lecture seule et en écriture seule.
-
Testez les performances OLTP pour l'exécution de transactions en lecture/écriture.
Exécutez les commandes suivantes pour effectuer le test (pour plus d'informations, consultez Paramètres SysBench) :
##Prepare the data used for the test. sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=100 --events=0 --time=300 --threads=XXX oltp_read_write prepare ##Run your workload. sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=100 --events=0 --time=300 --threads=XXX --percentile=95 --rand-type="uniform" --report-interval=1 oltp_read_write run ##Delete the data used for the test. sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=100 --events=0 --time=300 --threads=XXX --percentile=95 oltp_read_write cleanupExemple de résultats de test :
QPS : 23869,32
TPS : 1193,47
Temps de réponse (RT) : 36,89 ms
[ 55s ] thds: 16 tps: 1238.00 qps: 24720.98 (r/w/o: 17294.99/4951.00/2475.00) lat (ms,95%): 35.59 err/s: 0.00 reconn/s: 0.00 [ 56s ] thds: 16 tps: 1195.00 qps: 23924.02 (r/w/o: 16752.01/4782.00/2390.00) lat (ms,95%): 36.24 err/s: 0.00 reconn/s: 0.00 [ 57s ] thds: 16 tps: 1235.00 qps: 24714.10 (r/w/o: 17308.07/4935.02/2471.01) lat (ms,95%): 36.24 err/s: 0.00 reconn/s: 0.00 [ 58s ] thds: 16 tps: 1230.99 qps: 24594.83 (r/w/o: 17205.88/4926.97/2461.98) lat (ms,95%): 36.24 err/s: 0.00 reconn/s: 0.00 [ 59s ] thds: 16 tps: 1187.00 qps: 23786.05 (r/w/o: 16655.03/4757.01/2374.00) lat (ms,95%): 36.89 err/s: 0.00 reconn/s: 0.00 [ 60s ] thds: 16 tps: 1212.00 qps: 24252.93 (r/w/o: 16964.95/4863.99/2423.99) lat (ms,95%): 36.24 err/s: 0.00 reconn/s: 0.00 SQL statistics: queries performed: read: 1003268 write: 286648 other: 143324 total: 1433240 transactions: 71662 (1193.47 per sec.) queries: 1433240 (23869.32 per sec.) ignored errors: 0 (0.00 per sec.) reconnects: 0 (0.00 per sec.) General statistics: total time: 60.0439s total number of events: 71662 Latency (ms): min: 4.48 avg: 13.40 max: 142.82 95th percentile: 36.89 sum: 960169.64 Threads fairness: events (avg/stddev): 4478.8750/88.00 execution time (avg/stddev): 60.0106/0.00 -
Testez les performances OLTP pour l'exécution de transactions en lecture seule.
Exécutez les commandes suivantes pour effectuer le test (pour plus d'informations, consultez Paramètres SysBench) :
RemarqueNous vous recommandons d'acheter des instances dans la zone recommandée sur la page d'achat pour les tests.
##Prepare the data used for the test. sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=100 --events=0 --time=300 --threads=XXX oltp_read_only prepare ##Run your workload. sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=100 --events=0 --time=300 --threads=XXX --percentile=95 --rand-type="uniform" --report-interval=1 oltp_read_only run ##Delete the data used for the test. sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=100 --events=0 --time=300 --threads=XXX --percentile=95 oltp_read_only cleanupExemple de résultats de test :
QPS : 26130,73
RT : 33,72 ms
[ 55s ] thds: 16 tps: 1881.00 qps: 26417.97 (r/w/o: 26417.97/0.00/0.00) lat (ms,95%): 33.72 err/s: 0.00 reconn/s: 0.00 [ 56s ] thds: 16 tps: 1831.01 qps: 25564.09 (r/w/o: 25564.09/0.00/0.00) lat (ms,95%): 34.33 err/s: 0.00 reconn/s: 0.00 [ 57s ] thds: 16 tps: 1914.99 qps: 26829.90 (r/w/o: 26829.90/0.00/0.00) lat (ms,95%): 33.12 err/s: 0.00 reconn/s: 0.00 [ 58s ] thds: 16 tps: 1930.00 qps: 27013.02 (r/w/o: 27013.02/0.00/0.00) lat (ms,95%): 33.12 err/s: 0.00 reconn/s: 0.00 [ 59s ] thds: 16 tps: 1901.00 qps: 26569.06 (r/w/o: 26569.06/0.00/0.00) lat (ms,95%): 33.72 err/s: 0.00 reconn/s: 0.00 [ 60s ] thds: 16 tps: 1933.99 qps: 27157.92 (r/w/o: 27157.92/0.00/0.00) lat (ms,95%): 33.12 err/s: 0.00 reconn/s: 0.00 SQL statistics: queries performed: read: 1568952 write: 0 other: 0 total: 1568952 transactions: 112068 (1866.48 per sec.) queries: 1568952 (26130.73 per sec.) ignored errors: 0 (0.00 per sec.) reconnects: 0 (0.00 per sec.) General statistics: total time: 60.0410s total number of events: 112068 Latency (ms): min: 3.03 avg: 8.57 max: 84.14 95th percentile: 33.72 sum: 960237.13 Threads fairness: events (avg/stddev): 7004.2500/96.69 execution time (avg/stddev): 60.0148/0.01 -
Testez les performances OLTP pour l'exécution de transactions en écriture seule.
Exécutez les commandes suivantes pour effectuer le test (pour plus d'informations, consultez Paramètres SysBench) :
##Prepare the data used for the test. sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=100 --events=0 --time=300 --threads=XXX oltp_write_only prepare ##Run your workload. sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=100 --events=0 --time=300 --threads=XXX --percentile=95 --rand-type="uniform" --report-interval=1 oltp_write_only run ##Delete the data used for the test. sysbench --db-driver=mysql --mysql-host=XXX --mysql-port=XXX --mysql-user=XXX --mysql-password=XXX --mysql-db=sbtest --table_size=25000 --tables=100 --events=0 --time=300 --threads=XXX --percentile=95 oltp_write_only cleanupExemple de résultats de test :
TPS : 4255,01
RT : 16,71 ms
[ 56s ] thds: 16 tps: 4458.17 qps: 26789.02 (r/w/o: 0.00/17871.68/8917.34) lat (ms,95%): 14.21 err/s: 0.00 reconn/s: 0.00 [ 57s ] thds: 16 tps: 4416.02 qps: 26472.15 (r/w/o: 0.00/17640.10/8832.05) lat (ms,95%): 16.41 err/s: 0.00 reconn/s: 0.00 [ 58s ] thds: 16 tps: 3919.11 qps: 23508.64 (r/w/o: 0.00/15670.43/7838.21) lat (ms,95%): 17.63 err/s: 0.00 reconn/s: 0.00 [ 59s ] thds: 16 tps: 4089.00 qps: 24559.02 (r/w/o: 0.00/16381.01/8178.01) lat (ms,95%): 18.28 err/s: 0.00 reconn/s: 0.00 [ 60s ] thds: 16 tps: 4353.28 qps: 26100.68 (r/w/o: 0.00/17394.12/8706.56) lat (ms,95%): 19.65 err/s: 0.00 reconn/s: 0.00 SQL statistics: queries performed: read: 0 write: 1021552 other: 510776 total: 1532328 transactions: 255388 (4255.01 per sec.) queries: 1532328 (25530.04 per sec.) ignored errors: 0 (0.00 per sec.) reconnects: 0 (0.00 per sec.) General statistics: total time: 60.0192s total number of events: 255388 Latency (ms): min: 1.28 avg: 3.76 max: 182.50 95th percentile: 16.71 sum: 959762.69 Threads fairness: events (avg/stddev): 15961.7500/525.08 execution time (avg/stddev): 59.9852/0.00
RemarqueSysBench propose plusieurs modèles de référence standard. Sélectionnez un modèle approprié en fonction de vos scénarios métier.
-