Rumah  >  Artikel  >  pangkalan data  >  Cara menggunakan MTR untuk melaksanakan penilaian prestasi enjin storan MySQL

Cara menggunakan MTR untuk melaksanakan penilaian prestasi enjin storan MySQL

WBOY
WBOYasal
2023-07-12 15:05:231455semak imbas

Cara menggunakan MTR untuk melaksanakan penilaian prestasi enjin storan MySQL

Pengenalan:
MySQL ialah sistem pengurusan pangkalan data hubungan biasa yang menyediakan pelbagai enjin storan, seperti InnoDB, MyISAM, dsb. Untuk menilai prestasi enjin storan yang berbeza, MySQL menyediakan alat MTR (MySQL Test Run). Artikel ini menerangkan cara menggunakan MTR untuk penilaian prestasi dan menyediakan contoh kod.

1. Fahami alat MTR

MTR ialah alat ujian MySQL, pada asalnya digunakan dalam suite ujian MySQL. Ia mempunyai fungsi seperti melaksanakan skrip ujian dan rangka kerja ujian secara automatik, dan membenarkan pengguna menulis skrip ujian tersuai. MTR boleh mensimulasikan beban kerja pangkalan data sebenar dan menyediakan metrik prestasi terperinci.

2. Pasang alat MTR

Pertama, kita perlu memasang alat MTR. MTR boleh dimuat turun dari laman web rasmi MySQL.

3. Cipta kes ujian

  1. Buat skrip penilaian prestasi enjin storan

Buat direktori baharu di bawah direktori suite ujian MySQL dan namakannya "engine_perf". Buat skrip ujian MTR baharu dalam direktori ini dan namakannya "engine_perf.test".

Edit fail skrip dan tulis contoh skrip ujian seperti berikut:

---engine_perf.test---

Perihalan kes ujian

--source include/have_innodb.inc # Perkenalkan enjin storan InnoDB
-- source include/ have_myisam.inc # Perkenalkan enjin storan MyISAM

--disable_query_log # Lumpuhkan log pertanyaan MTR

Ujian enjin storan InnoDB

--echo #
--echo # Ujian enjin storan InnoDB

--echo -disable_query_log # Lumpuhkan log pertanyaan MTR

Buat jadual InnoDB

BUAT JADUAL innodb_table (

id int(11) bukan null,innodb_table (
id int(11) not null,
name varchar(100) not null,
primary key (id)
) engine=InnoDB;

--let $start_time=SELECT UNIX_TIMESTAMP(); # 记录开始时间

向InnoDB表插入10000条数据

SET @i = 1;
WHILE @i <= 10000 DO
INSERT INTO innodb_table (id, name) VALUES (@i, CONCAT('Name', @i));
SET @i = @i + 1;
END WHILE;

--let $end_time=SELECT UNIX_TIMESTAMP(); # 记录结束时间

--enable_query_log # 启用MTR的查询日志

输出性能指标

--echo InnoDB存储引擎测试结果:
--eval SELECT $end_time-$start_time as execution_time;

--disable_query_log # 禁用MTR的查询日志

MyISAM存储引擎测试

--echo #
--echo # MyISAM存储引擎测试
--echo #

--disable_query_log # 禁用MTR的查询日志

创建MyISAM表

CREATE TABLE myisam_table (
id int(11) not null,
name varchar(100) not null,
primary key (id name varchar (100) bukan nol,
kunci utama (id)

) engine=InnoDB;

--biar $start_time=SELECT UNIX_TIMESTAMP(); # Rekod masa mula

Masukkan 10,000 entri ke dalam Data jadual InnoDB


SET @i = 1;
SEMASA @i <= 10000 DO
MASUKKAN KE DALAM innodb_table (id, nama) NILAI (@i, CONCAT('Nama', @i));
SET @i = @i + 1;

TAMAT SEMASA;

--biarkan $end_time=SELECT UNIX_TIMESTAMP(); # Catat masa tamat

--enable_query_log # Dayakan log pertanyaan MTR

Penunjuk prestasi storan output


--echo InnoDB--echo keputusan :

--eval SELECT $end_time-$start_time as execution_time;

--disable_query_log # Lumpuhkan log pertanyaan MTR

Ujian enjin storan MyISAM

--gema #
    --echo # ujian enjin storan MyISAM-
  1. #
  2. --disable_query_log # Lumpuhkan log pertanyaan MTR
Buat jadual MyISAM

BUAT JADUAL jadual_myisam (

id int(11) bukan null,

nama varchar(100) not null,

primary key (id)

) engine=MyISAM;

--biar $start_time=SELECT UNIX_TIMESTAMP(); # Rekod masa mula🎜🎜 Masukkan 10000 keping data ke dalam jadual MyISAM🎜🎜SET @i = 1;🎜SEMASA @i <= 10000 DO🎜 MASUKKAN KE DALAM myisam_table (id, nama) NILAI (@i, CONCAT('Nama', @i)); 🎜 SET @i = @i + 1;🎜END WHILE;🎜🎜--biarkan $end_time=SELECT UNIX_TIMESTAMP(); # Rekod masa tamat🎜🎜--enable_query_log # Dayakan log pertanyaan MTR🎜🎜Output performance indicators🎜🎜 echo keputusan ujian enjin storan MyISAM:🎜--eval SELECT $end_time-$start_time as execution_time;🎜🎜--disable_query_log # Lumpuhkan log pertanyaan MTR🎜🎜Di atas ialah skrip ujian asas. Ia menilai prestasi enjin storan yang berbeza dengan mencipta dua jadual, InnoDB dan MyISAM, dan memasukkan 10,000 keping data ke dalam jadual. Selepas setiap ujian enjin storan selesai, masa pelaksanaan akan dikeluarkan. 🎜🎜4. Jalankan ujian 🎜🎜🎜Masukkan direktori suite ujian MySQL dalam terminal. 🎜🎜Jalankan skrip ujian MTR. 🎜🎜
./mtr engine_perf
🎜MTR akan melaksanakan skrip ujian dan penunjuk prestasi output. 🎜🎜Contoh kod hanyalah skrip ujian asas yang boleh anda ubah suai dan lanjutkan mengikut keperluan sebenar anda. Dengan menulis skrip ujian yang lebih kompleks, anda boleh menjalankan penilaian prestasi yang lebih komprehensif dan terperinci bagi enjin storan MySQL. 🎜🎜Kesimpulan: 🎜🎜Artikel ini menerangkan cara menggunakan MTR untuk melaksanakan penilaian prestasi enjin storan MySQL dan menyediakan contoh skrip ujian asas. Dengan menggunakan alat MTR, kami boleh mensimulasikan beban kerja pangkalan data sebenar dan mendapatkan petunjuk prestasi terperinci untuk menilai prestasi enjin storan yang berbeza. Saya harap artikel ini akan membantu anda memahami alat MTR dan menilai prestasi enjin storan MySQL. 🎜

Atas ialah kandungan terperinci Cara menggunakan MTR untuk melaksanakan penilaian prestasi enjin storan MySQL. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn