Home Arrow Icon Knowledge base Arrow Icon Global Arrow Icon Rủi ro của việc đặt max_seeks_for_key quá cao là gì


Rủi ro của việc đặt max_seeks_for_key quá cao là gì


Đặt `max_seeks_for_key` quá cao có thể dẫn đến một số rủi ro:

1. I/O đĩa tăng: Giá trị cao hơn có thể khiến MySQL thực hiện nhiều thao tác I/O đĩa hơn, điều này có thể dẫn đến mức sử dụng đĩa tăng lên và hiệu suất chậm hơn.

2. Tăng mức sử dụng bộ nhớ: Giá trị cao hơn cũng có thể khiến MySQL sử dụng nhiều bộ nhớ hơn, điều này có thể dẫn đến mức sử dụng bộ nhớ tăng lên và thậm chí có thể cạn kiệt bộ nhớ.

3. Mức sử dụng CPU tăng: Giá trị cao hơn có thể khiến MySQL thực hiện nhiều hoạt động sử dụng nhiều CPU hơn, điều này có thể dẫn đến mức sử dụng CPU tăng lên và thậm chí có khả năng cạn kiệt CPU.

4. Hiệu suất giảm: Giá trị cao hơn có thể khiến MySQL mất nhiều thời gian hơn để thực hiện các thao tác I/O trên đĩa và tốn ít thời gian thực hiện truy vấn hơn, điều này có thể dẫn đến giảm hiệu suất và thời gian thực hiện truy vấn chậm hơn.

5. Nguy cơ bế tắc tăng lên: Giá trị cao hơn có thể làm tăng nguy cơ bế tắc, đặc biệt là trong môi trường đa luồng, vì MySQL có thể mất nhiều thời gian hơn để chờ các hoạt động I/O của đĩa hoàn tất.

6. Nguy cơ tranh chấp khóa tăng: Giá trị cao hơn có thể làm tăng nguy cơ tranh chấp khóa, đặc biệt là trong môi trường đa luồng, vì MySQL có thể mất nhiều thời gian hơn để chờ các hoạt động I/O của đĩa hoàn tất.

7. Khả năng mở rộng giảm: Giá trị cao hơn có thể làm giảm khả năng mở rộng của MySQL, đặc biệt là trong môi trường quy mô lớn, vì MySQL có thể mất nhiều thời gian hơn để thực hiện các thao tác I/O trên đĩa và tốn ít thời gian hơn để thực hiện các truy vấn.

8. Nguy cơ hỏng dữ liệu tăng lên: Giá trị cao hơn có thể làm tăng nguy cơ hỏng dữ liệu, đặc biệt là trong môi trường có hoạt động I/O đĩa cao, vì MySQL có thể dành nhiều thời gian hơn để thực hiện các thao tác I/O đĩa và ít thời gian thực hiện truy vấn hơn .

9. Tăng nguy cơ hỏng ổ đĩa: Giá trị cao hơn có thể làm tăng nguy cơ hỏng ổ đĩa, đặc biệt là trong môi trường có hoạt động I/O ổ đĩa cao, vì MySQL có thể dành nhiều thời gian hơn để thực hiện các thao tác I/O ổ đĩa và ít thời gian thực hiện truy vấn hơn .

10. Nguy cơ lỗi hệ thống tăng: Giá trị cao hơn có thể làm tăng nguy cơ lỗi hệ thống, đặc biệt là trong môi trường có hoạt động I/O đĩa cao, vì MySQL có thể dành nhiều thời gian hơn để thực hiện các thao tác I/O đĩa và ít thời gian thực hiện truy vấn hơn .

Điều cần thiết là phải đánh giá cẩn thận các rủi ro và lợi ích của việc đặt `max_seeks_for_key` quá cao và xem xét các yêu cầu cũng như ràng buộc cụ thể của môi trường của bạn trước khi thực hiện bất kỳ thay đổi nào.

Trích dẫn:
[1] https://stackoverflow.com/questions/27176623/mysql-server-system-variables-max-seeks-for-key-practical-example
[2] https://www.oreilly.com/library/view/high-performance-mysql/9780596101718/ch04.html
[3] https://mariadb.com/kb/en/server-system-variables/
[4] https://aws.amazon.com/fr/blogs/database/best-practices-for-configuring-parameters-for-amazon-rds-for-mysql-part-1-parameters-relative-to-performance /
[5] https://forums.percona.com/t/cpu-load-100/555