mysqlslap执行基准测试的代码详情介绍
查看mysqlslap所支持的主要参数配置及说明如下
<span style="color: #000000">-a, --auto-generate-sql 由系统自动生成SQL脚本进行测试<br/> Generate SQL where not supplied by file or command line.<br/> --auto-generate-sql-add-autoincrement 生成的表中增加自增的ID<br/> Add an AUTO_INCREMENT column to auto-generated tables.--auto-generate-sql-load-type=name 制定测试过程中使用的查询类型<br/> Specify test load type: mixed, update, write, key, or<br/> read; default is mixed.--auto-generate-sql-write-number=# 制定所生成的初始化数据的条数<br/> Number of row inserts to perform for each thread (default<br/> is 100).-c, --concurrency=name 制定并发线程的数量<br/> Number of clients to simulate for query to run.<br/> --create=name File or string to use create tables.<br/> --create-schema=name 创建一个测试数据库的schema名称<br/> Schema to run tests in.-T, --debug-info This is a non-debug version. Catch this and exit.指定输出额外的内存及CPU统计信息-e,<br/> --engine=name Storage engine to use for creating the table. 指定所测试的存储引擎,用逗号可以分割以便测试多个引擎<br/> -h, --host=name Connect to host. 链接远程主机的IP<br/> -i, --iterations=# Number of times to run the tests. 指定本次测试需要运行的次数<br/> --no-drop Do not drop the schema after the test. 指定测试完成后,不清理过程数据<br/> -x, --number-char-cols=name 指定测试表中生成的varchar类型的数据数量<br/> Number of VARCHAR columns to create in table if<br/> specifying --auto-generate-sql.<br/> -y, --number-int-cols=name 指定测试表中生成的int类型的数据数量<br/> Number of INT columns to create in table if specifying<br/> --auto-generate-sql.<br/> --number-of-queries=# 指定每一个线程所执行的查询数量<br/> Limit each client to this number of queries (this is not<br/> exact).<br/> --only-print Do not connect to the databases, but instead print out 并不运行测试脚本,而是把生成的脚本打印出来<br/> what would have been done.<br/> -p, --password[=name] 指定测试所用的链接数据库的密码<br/> Password to use when connecting to server. If password is<br/> not given it's asked from the tty.-q, --query=name Query to run or file containing query to run.自定义测试用的sql<br/> -u, --user=name User for login if not current user. 指定测试所用的链接数据库的用户名<br/></span>
其中,完整的运行脚本如下
mysqlslap -S /tmp/mysql3306.sock --concurrency=1,50,100,200 --iterations=3 --number-int-cols=5 --number-char-cols=5 --auto-generate-sql --auto-generate-sql-add-autoincrement --engine=innodb --number-of-queries=10 --create-schema=test -uroot -p
待输入密码后,测试信息如下
Enter password: Benchmark Running for engine innodb Average number of seconds to run all queries: 0.097 seconds Minimum number of seconds to run all queries: 0.093 seconds Maximum number of seconds to run all queries: 0.107 seconds Number of clients running queries: 1 Average number of queries per client: 10Benchmark Running for engine innodb Average number of seconds to run all queries: 0.506 seconds Minimum number of seconds to run all queries: 0.447 seconds Maximum number of seconds to run all queries: 0.570 seconds Number of clients running queries: 50 Average number of queries per client: 0Benchmark Running for engine innodb Average number of seconds to run all queries: 2.204 seconds Minimum number of seconds to run all queries: 1.595 seconds Maximum number of seconds to run all queries: 3.257 seconds Number of clients running queries: 100 Average number of queries per client: 0mysqlslap: Error when connecting to server: 1040 Too many connections mysqlslap: Error when connecting to server: 1040 Too many connections mysqlslap: Error when connecting to server: 1040 Too many connections mysqlslap: Error when connecting to server: 1040 Too many connections
此时可以看出来,当并发达到了200的时候,出现了Too many connections的异常,这是因为mysql默认配置的最大链接数为100,故需要对my.cnf做如下的修改
添加max_connections=1024,之后运行正常
Benchmark Running for engine innodb Average number of seconds to run all queries: 0.093 seconds Minimum number of seconds to run all queries: 0.087 seconds Maximum number of seconds to run all queries: 0.098 seconds Number of clients running queries: 1 Average number of queries per client: 10Benchmark Running for engine innodb Average number of seconds to run all queries: 0.514 seconds Minimum number of seconds to run all queries: 0.462 seconds Maximum number of seconds to run all queries: 0.545 seconds Number of clients running queries: 50 Average number of queries per client: 0Benchmark Running for engine innodb Average number of seconds to run all queries: 1.209 seconds Minimum number of seconds to run all queries: 1.173 seconds Maximum number of seconds to run all queries: 1.241 seconds Number of clients running queries: 100 Average number of queries per client: 0Benchmark Running for engine innodb Average number of seconds to run all queries: 2.174 seconds Minimum number of seconds to run all queries: 1.978 seconds Maximum number of seconds to run all queries: 2.402 seconds Number of clients running queries: 200 Average number of queries per client: 0
以上就是mysqlslap执行基准测试的代码详情介绍的内容,更多相关内容请关注PHP中文网(www.php.cn)!

Alat AI Hot

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool
Gambar buka pakaian secara percuma

Clothoff.io
Penyingkiran pakaian AI

AI Hentai Generator
Menjana ai hentai secara percuma.

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Seperti yang dijangkakan, memandangkan kedua-dua peranti menggunakan pemproses M1, penanda aras awal menunjukkan skor iPad Air 5 sama dengan iPad Pro 11 inci. Penyemak menjalankan iPad Air 5 melalui Geekbench, dan markahnya tidak mengejutkan. Sebenarnya, nombor hanya berbeza kerana ralat pembundaran dan variasi dari larian ke larian. iPad Air 5 disenaraikan sebagai "iPad 13,17" dalam Geekbench, menunjukkan skor teras tunggal 1,711 dan skor berbilang teras 7,233 dalam ujian CPU. Ini serupa dengan iPad Pro 11-inci, yang mempunyai skor teras tunggal 1718 dan skor berbilang teras 7313. wujud

Dalam aplikasi model bahasa besar (LLM), terdapat beberapa senario yang memerlukan data dipersembahkan secara berstruktur, di mana pengekstrakan maklumat dan analisis pertanyaan adalah dua contoh biasa. Kami baru-baru ini menekankan kepentingan pengekstrakan maklumat dengan dokumentasi yang dikemas kini dan repositori kod khusus. Untuk analisis pertanyaan, kami juga telah mengemas kini dokumentasi yang berkaitan. Dalam senario ini, medan data mungkin termasuk rentetan, nilai Boolean, integer, dsb. Antara jenis ini, menangani nilai kategori kardinaliti tinggi (iaitu jenis penghitungan) adalah yang paling mencabar. Apa yang dipanggil "nilai kumpulan kardinaliti tinggi" dalam gambar merujuk kepada nilai yang mesti dipilih daripada bilangan pilihan yang terhad Nilai ini tidak boleh ditentukan sewenang-wenangnya, tetapi mesti datang dari set yang telah ditetapkan. Dalam set sedemikian, kadangkala akan terdapat sejumlah besar nilai sah

Masih sibuk dengan scoop eksklusif Qualcomm pada Snapdragon 8 Gen 3 yang akan datang? Beginilah perbandingan Snapdragon 8 Gen 3 vs A17 Pro: Kedua-dua cip berkuasa datang dengan sokongan pengesanan sinar, tetapi yang manakah paling sesuai dengan keperluan anda? Apple berbangga kerana cip terbaharunya akan menjana permainan seperti Resident Evil 2 Remake dan Resident Evil 7 pernah dipindahkan ke iOS, tetapi keajaiban AI baharu Qualcomm mempunyai sokongan pengesanan sinarnya sendiri. "Teknologi kamera dan audio termaju membolehkan video sejernih kristal dan audio sejernih kristal. Pengalaman dipercepatkan AI yang berkuasa dan keselamatan gred perusahaan membolehkan PC mudah alih moden," kata syarikat itu dalam satu kenyataan rasmi menjelang acara Sidang Kemuncak Snapdragon hari ini

Memahami pengoptimuman prestasi fungsi Go adalah penting dan boleh dicapai melalui kaedah berikut: Penandaarasan: Gunakan pakej ujian Go untuk mengukur masa pelaksanaan dan penggunaan sumber, seperti menanda aras strategi penggabungan rentetan. Analisis prestasi: Gunakan pakej masa jalan/pprof untuk menjana graf panggilan fungsi dan gunakan gotoolpprof untuk menganalisis fail pprof.out untuk mendapatkan pemahaman yang mendalam tentang kesesakan prestasi. Pengoptimuman selanjutnya: Berdasarkan hasil analisis prestasi, kurangkan panggilan fungsi yang tidak perlu, elakkan daripada mencipta pembolehubah yang tidak perlu, gunakan struktur data yang sesuai dan gunakan sepenuhnya konkurensi untuk meningkatkan prestasi aplikasi.

Menurut maklum balas daripada pembangun 3DMark pada forum perbincangan Steam, penanda aras kad grafik terkini StealNomad dan versi ringannya SteelNomadLight akan dilancarkan tidak lama lagi untuk mencapai perbandingan merentas platform yang lebih adil. ▲Tangkapan skrin SteelNomad. Sumber imej ULSolutions3DMark ialah perisian penanda aras yang digunakan secara meluas ULSolutions mengeluarkan StealNomad pada November tahun lepas. Ujian ini direka bentuk untuk menyediakan tanda aras pengesanan bukan sinar umum merentas berbilang platform yang mewakili pelancaran pada 2016. Antaranya, TimeSpy ialah ujian yang sangat penting, menyediakan ujian asas prestasi biasa untuk banyak platform. Tidak seperti terhad kepada DirectX

Dalam bahasa Go, anda boleh menulis penanda aras dengan mudah untuk mengukur prestasi kod dengan menggunakan fungsi BenchmarkXXX dalam pakej ujian. Fungsi ini mengikut sintaks standard dan menerima penuding jenis *testing.B sebagai parameter, yang digunakan untuk mengawal perjalanan penanda aras. Menjalankan penanda aras (gotest-bench=BenchmarkName) boleh mengeluarkan jadual keputusan yang menunjukkan pelbagai maklumat seperti bilangan nanosaat yang dibelanjakan untuk setiap operasi, bilangan operasi yang dilakukan sesaat, bilangan lelaran dijalankan dalam ujian dan bilangan pas berlalu sesaat Jumlah memori, dsb. Dengan membandingkan hasil penanda aras yang berbeza, anda boleh mengenal pasti kawasan kod yang tidak cekap dan dengan itu meningkatkan prestasi keseluruhan aplikasi anda.

Dengan peningkatan berterusan teknologi perkakasan komputer, CPU teras tunggal tidak lagi dapat memenuhi keperluan prestasi komputer. Oleh itu, bagaimana untuk menggunakan sepenuhnya prestasi CPU berbilang teras telah menjadi isu penting dalam bidang sains komputer. Pengaturcaraan serentak adalah tepat untuk memanfaatkan prestasi CPU berbilang teras dan meningkatkan kecekapan dan kelajuan tindak balas program komputer. Sebagai bahasa pengaturcaraan serentak yang cekap, model konkurensi lalai bahasa Go diterima secara meluas. Walau bagaimanapun, dalam pembangunan sebenar, kita perlu menilai dan menguji prestasi serentak program untuk mengenal pasti kesesakan prestasi yang berpotensi

Untuk menanda aras saluran paip, anda boleh menggunakan pakej penanda aras dalam pakej saluran paip bahasa Go: buat saluran paip dan sertakan langkah membaca data, pemprosesan data dan output data. Lulus penanda aras.Lari ke saluran paip untuk menanda aras saluran paip. Penanda aras saluran paip memberikan cerapan tentang pemprosesan dan kependaman saluran paip, membantu mengoptimumkan prestasinya.
