Penalaan Konfigurasi MySQL ialah komponen penting dalam pengurusan pangkalan data yang dilaksanakan oleh profesional dan pentadbir pangkalan data. Ia bertujuan untuk mengkonfigurasi pangkalan data agar sesuai dengan perkakasan dan beban kerjanya. Tetapi di luar bidang pengurusan pangkalan data, kegunaan penalaan Konfigurasi MySQL sebahagian besarnya diabaikan.
Kami membuat hipotesis bahawa penalaan MySQL boleh menjejaskan prestasi apl web dengan ketara. Jika kami dapat mempamerkan nilai penalaan MySQL, kami percaya bahawa perusahaan dan organisasi mungkin berminat untuk menerapkan amalan ini pada skala yang lebih besar.
Meningkatkan prestasi aplikasi dengan penalaan paling baik dicapai dengan pendekatan komprehensif yang menangani bidang berikut:
Ramai pembangun berpengalaman tidak melihat penalaan prestasi pangkalan data sebagai peluang untuk meningkatkan prestasi apl mereka kerana mereka tahu sedikit tentang domain ini. Mereka menghabiskan banyak masa untuk mengoptimumkan pangkalan kod, tetapi ia mencapai tahap di mana ia tidak lagi membawa hasil yang berharga untuk masa dan tenaga yang dilaburkan. Penyelidikan kami tentang cara penalaan MySQL memberi kesan positif kepada prestasi aplikasi web sumber terbuka yang popular bertujuan untuk mempamerkan fakta ini kepada pembangun.
Prosedur ujian kami untuk Laravel Aimeos membolehkan kami membandingkan prestasi apl sebelum dan selepas konfigurasi menggunakan data berbiji. Dengan menjalankan ujian dengan konfigurasi lalai dahulu, kami memperoleh hasil kawalan yang berharga untuk membandingkan konfigurasi yang ditala.
Kami menggunakan proses berikut untuk menyediakan dan menguji setiap permohonan:
Kami menerbitkan ujian JMeter, Status MySQL dan Pembolehubah MySQL semasa ujian di Github.
Metrik yang kami lihat semasa penyelidikan ini ialah:
Kami mengumpulkan metrikPenggunaan CPUdanPertanyaan sesaatuntuk membandingkan beban kerja.
Aimeos Laravel ialah rangka kerja apl web e-dagang yang popular untuk mencipta kedai dalam talian, pasaran dan apl B2B. Dengan Aimeos, pengguna boleh mencipta kedai eCommerce yang mengutamakan API untuk Laravel yang boleh berskala untuk menyokong lebih 1 bilion item. Ia tersedia dalam lebih 30 bahasa dan mempunyai lebih 300,000 pemasangan.
Untuk menguji Aimeos, kami memulakan ujian dengan sepuluh pengguna, tetapi kami terpaksa mengurangkan bilangan pengguna kerana kami tidak dapat menyelesaikan ujian dengan konfigurasi lalai.
Kami menyemai pangkalan data dengan data 500 Mb.
Tempoh ujian kami ialah 10 minit.
Kami menggunakan:
Konfigurasi yang digunakan untuk Aimeos Laravel adalah seperti berikut:
query_cache_type=1 query_cache_size=134217728 query_cache_limit=16777216 query_cache_min_res_unit=4096 thread_cache_size=0 key_buffer_size=8388608 max_allowed_packet=1073741824 sort_buffer_size=2097152 read_rnd_buffer_size=262144 bulk_insert_buffer_size=8388608 myisam_sort_buffer_size=8388608 innodb_buffer_pool_chunk_size=134217728 innodb_buffer_pool_size=805306368 max_heap_table_size=16777216 tmp_table_size=16777216 join_buffer_size=8388608 max_connections=151 table_open_cache=2048 table_definition_cache=1408 innodb_flush_log_at_trx_commit=1 innodb_log_file_size=201326592 innodb_log_buffer_size=16777216 innodb_write_io_threads=4 innodb_read_io_threads=4 innodb_file_per_table=1 innodb_flush_method=O_DIRECT innodb_thread_concurrency=0 innodb_purge_threads=4 optimizer_search_depth=0 thread_handling=pool-of-threads thread_pool_size=2
Hasil ujian Aimeos Laravel mempamerkan peningkatan prestasi dramatik antara konfigurasi lalai dan ditala.
Pengoptimuman MySQL menghasilkan peningkatan ketara dalam pelayan purataMasa Tindak Balas, yangdikurangkandaripada 1.4 saat kepada di bawah 800 milisaat.
Masa Tindak Balas ( Latensi )jatuh sebanyak 42% dan puratapenggunaan CPUsebanyak 86%, manakalaPertanyaan sesaatmeningkat sebanyak 291% yang luar biasa, daripada 12 kepada 35 pertanyaan sesaat.
Graf keputusan tersedia di bawah:
Temps de réponse (ms), configuration MySQL optimisée par Aimeos par rapport aux valeurs par défaut
Utilisation du processeur (%), configuration MySQL optimisée par Aimeos par rapport aux valeurs par défaut
Requêtes par seconde, configuration MySQL optimisée par Aimeos par rapport aux valeurs par défaut
Nous avons fait équipe avec les développeurs Laravel Gevorg Mkrtchyan et Sergey Sinitsa de la société Initlab pour enquêter sur cette question et sommes très reconnaissants pour leur expertise.
Sergey a déployé Aimeos et Gevorg a préparé le code pour amorcer la base de données.
Notre procédure de test, utilisant Aimeos Laravel, a montré des améliorations spectaculaires duTemps de réponse (latence), de l'Utilisation du processeuret desRequêtes par secondeaprès avoir configuré la configuration du serveur de base de données.
LeTemps de réponse (latence)a chuté de 42 %, tandis que l'Utilisation du processeura chuté de 86 %. LesRequêtes par secondeont augmenté de 291 % dans Aimeos Laravel 500 Mo.
En conclusion, le réglage MySQL est un aspect essentiel de la gestion des bases de données qui peut avoir un impact significatif sur les performances des applications Laravel. Des applications Web peu performantes peuvent entraîner une augmentation des temps de chargement des pages, un traitement lent des requêtes et une mauvaise expérience utilisateur, ce qui peut affecter négativement le référencement et les ventes. En optimisant les performances des applications Web grâce au réglage MySQL, les entreprises et les organisations peuvent augmenter leurs ventes, les pages vues, les taux de conversion et les classements SEO.
Avec cette recherche, nous espérons mettre en valeur la valeur du réglage MySQL comme moyen d'améliorer les performances des applications Laravel et encourager les développeurs Laravel à considérer cette pratique lors de l'optimisation des performances de leurs applications.
Grâce à des outils comme Releem, les bases de données peuvent être automatiquement configurées pour des performances optimales, réduisant ainsi la charge des équipes de développement logiciel.
Atas ialah kandungan terperinci Bagaimana Penalaan MySQL Meningkatkan Prestasi Laravel. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!