All Products
Search
Document Center

:Panduan pengujian

Last Updated:Jul 25, 2026

Topik ini menyediakan panduan bagi pengguna baru untuk menguji performa instans ApsaraDB RDS for MySQL dan mengirimkan laporan pengujian. Setelah Anda mengirimkan laporan pengujian, Anda dapat memperoleh diskon tambahan untuk perpanjangan instans. Jika laporan pengujian Anda dinilai sangat baik, Anda akan mendapatkan insentif signifikan dari Alibaba Cloud.

Prasyarat

Informasi latar belakang

Metrik performa berikut diuji:

  • Transactions per second (TPS)

    Jumlah transaksi yang dieksekusi oleh instans RDS per detik. Transaksi hanya dihitung setelah dikomit.

    • Gunakan SysBench untuk menguji performa online transactional processing (OLTP) dalam mengeksekusi transaksi baca/tulis yang terdiri dari 18 pernyataan SQL baca dan tulis.

    • Gunakan SysBench untuk menguji performa OLTP dalam mengeksekusi transaksi read-only yang terdiri dari 14 pernyataan SQL baca: 10 pernyataan SQL digunakan untuk mengkueri data berdasarkan primary key dan 4 pernyataan SQL digunakan untuk mengkueri data berdasarkan rentang tertentu.

    • Gunakan SysBench untuk menguji performa OLTP dalam mengeksekusi transaksi write-only yang terdiri dari empat pernyataan SQL tulis: dua pernyataan UPDATE, satu pernyataan DELETE, dan satu pernyataan INSERT.

  • Queries per second (QPS)

    Jumlah pernyataan SQL yang dieksekusi oleh instans RDS per detik. Pernyataan SQL tersebut mencakup INSERT, SELECT, UPDATE, DELETE, dan COMMIT.

Parameter SysBench

Parameter

Deskripsi

db-driver

Engine database yang dijalankan oleh instans RDS.

mysql-host

Titik akhir yang digunakan untuk menghubungkan ke instans RDS.

mysql-port

Port yang digunakan untuk menghubungkan ke instans RDS.

mysql-user

Username akun yang digunakan untuk mengelola instans RDS.

mysql-password

Password akun yang digunakan untuk mengelola instans RDS.

mysql-db

Nama instans RDS

table_size

Ukuran tabel yang digunakan untuk pengujian.

tables

Jumlah tabel yang digunakan untuk pengujian.

events

Jumlah permintaan yang dikirim untuk pengujian.

time

Durasi pengujian.

threads

Jumlah thread yang dipanggil untuk pengujian.

percentile

Persentase durasi eksekusi yang ingin Anda analisis dalam pengujian untuk memperoleh durasi eksekusi rata-rata. Nilai default adalah 95%. Ini memungkinkan Anda memperoleh waktu rata-rata yang diperlukan untuk mengeksekusi permintaan pada 95% dari semua skenario.

report-interval

Interval waktu untuk menghasilkan laporan kemajuan pengujian. Nilai 0 berarti tidak menghasilkan laporan kemajuan pengujian, melainkan hanya menghasilkan laporan pengujian akhir.

rand-type

Tipe distribusi angka acak. Nilai default: special. Dalam pengujian ini, digunakan uniform.

Prosedur pengujian

  1. Masuk ke instans ECS Anda dan jalankan perintah berikut untuk menginstal SysBench:

    sudo yum install gcc gcc-c++ autoconf automake make libtool mysql-devel git mysql
    git clone https://github.com/akopytov/sysbench.git
    ## Unduh paket perangkat lunak SysBench dari GitHub.
    cd sysbench
    ## Buka direktori instalasi SysBench.
    git checkout 1.0.18
    ## Beralih ke SysBench 1.0.18.
    ./autogen.sh
    ## Jalankan skrip autogen.sh.
    ./configure --prefix=/usr --mandir=/usr/share/man
    make
    ## Kompilasi SysBench.
    make install
  2. Uji performa OLTP dalam mengeksekusi transaksi baca/tulis, read-only, dan write-only.

    • Uji performa OLTP dalam mengeksekusi transaksi baca/tulis.

      Jalankan perintah berikut untuk melakukan pengujian (untuk informasi selengkapnya, lihat Parameter SysBench):

      ## Siapkan data yang digunakan untuk pengujian.
      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
      
      ## Jalankan workload Anda.
      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
      
      ## Hapus data yang digunakan untuk pengujian.
      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 cleanup

      Contoh hasil pengujian:

      • QPS: 23.869,32

      • TPS: 1.193,47

      • Response time (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
    • Uji performa OLTP dalam mengeksekusi transaksi read-only.

      Jalankan perintah berikut untuk melakukan pengujian (untuk informasi selengkapnya, lihat Parameter SysBench):

      Catatan

      Kami menyarankan agar Anda membeli instans di zona yang direkomendasikan pada halaman pembelian untuk pengujian.

      ## Siapkan data yang digunakan untuk pengujian.
      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
      
      ## Jalankan workload Anda.
      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
      
      ## Hapus data yang digunakan untuk pengujian.
      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 cleanup

      Contoh hasil pengujian:

      • QPS: 26.130,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
    • Uji performa OLTP dalam mengeksekusi transaksi write-only.

      Jalankan perintah berikut untuk melakukan pengujian (untuk informasi selengkapnya, lihat Parameter SysBench):

      ## Siapkan data yang digunakan untuk pengujian.
      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
      
      ## Jalankan workload Anda.
      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
      
      ## Hapus data yang digunakan untuk pengujian.
      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 cleanup

      Contoh hasil pengujian:

      • TPS: 4.255,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
    Catatan

    SysBench menyediakan beberapa model benchmark standar. Anda dapat memilih model yang sesuai berdasarkan skenario bisnis Anda.