بررسیهای اخیر نشان میدهد که نسخههای 8.4 و 9.x از MySQL در تستهای سنگین نوشتن (write-heavy) با استفاده از sysbench، افت عملکرد قابل توجهی دارند. این افت عملکرد به ویژه در تستهایی با همزمانی (concurrency) بیشتر و فعال بودن تنظیمات gtid_mode و enforce_gtid_consistency بیشتر میشود. این تنظیمات به طور پیشفرض در MySQL 9.5.0 فعال شدهاند، در حالی که در نسخههای قبلی غیرفعال بودند.
نتایج نشان میدهد که در تستهای با 16 کلاینت روی سرور 24 هستهای، بازدهی (throughput) معمولاً 15% در MySQL 9.5 نسبت به 8.0 کمتر است. در تستهای با 40 کلاینت روی سرور 48 هستهای، این افت بازدهی به 5% کاهش مییابد. فعال کردن gtid_mode و enforce_gtid_consistency باعث افزایش 5 تا 10 درصدی افت بازدهی میشود. همچنین، افزایش قابل توجهی در مصرف CPU، نرخ تغییرات زمینه (context switch rates) و میزان دادههای نوشته شده به حافظه (KB written to storage) برای تنظیمات -gtid مشاهده شده است.
این افت عملکرد احتمالاً به دلیل افزایش حجم تراکنشها در تستهای insert و update-inlist است. مقایسه تنظیمات global variables با استفاده از دستور diff نشان میدهد که تغییر پیشفرض در تنظیمات gtid_mode و enforce_gtid_consistency در MySQL 9.5 عامل اصلی این افت عملکرد است.
تستها با استفاده از نسخههای مختلف MySQL (8.0.44، 8.4.7، 9.4.0 و 9.5.0) و با تنظیمات مختلف gtid_mode (فعال و غیرفعال) انجام شده است. نتایج این بررسیها به توسعهدهندگان MySQL کمک میکند تا عملکرد پایگاه داده را در نسخههای جدیدتر بهینهسازی کنند.
مشاهده مطلب اصلی