Trước đó, tôi đã viết một bài đăng trên blog về Hiệu suất MySQL - Truy vấn chậm và innodb_buffer_pool_size . Tôi nhận được rất nhiều email mà mọi người muốn biết thêm về các thông số như vậy. Hãy để chúng tôi thảo luận về 5 tham số từ tệp cấu hình có thể giúp hiệu suất MySQL.
innodb_buffer_pool_size
Trong vùng đệm dữ liệu được lưu vào bộ nhớ đệm. Nếu nó có kích thước nhỏ, đĩa của bạn sẽ được sử dụng nhiều hơn. Giữ cái này lớn để tránh MySQL đi vào đĩa nhiều lần. Kích thước điển hình mà tôi thấy tại nơi ở của khách hàng là từ 6 đến 10 GB.
max_connections
Bạn có thể dễ dàng tránh được quá nhiều lỗi kết nối nếu giữ mức này đủ lớn. Tuy nhiên, nếu bạn giữ nó quá lớn so với những gì máy chủ của bạn có thể xử lý, bạn sẽ bắt đầu gặp lại các vấn đề về hiệu suất. Điều rất quan trọng là phải giữ cho nó đủ lớn để nó có thể xử lý khối lượng công việc điển hình của bạn và do đó bạn nên thêm nhiều tài nguyên hơn. Tôi thường thay đổi điều này đầu tiên và sau đó trên các tài nguyên được điều chỉnh cho khách hàng của tôi.
query_cache_size
Mọi người đều biết rằng nếu bạn giữ kích thước của tập hợp này rất thấp hoặc cao, hiệu suất của bạn sẽ rất khủng khiếp. Tuy nhiên, tôi đã thấy rất nhiều người bỏ qua cài đặt này. Tôi thường bắt đầu điều chỉnh MySQL bằng cách xem cài đặt này và giữ nó ở mức 0. Điều này có nghĩa là cài đặt này bị tắt và tôi sử dụng các phương pháp khác để điều chỉnh các truy vấn của mình. Tôi thường thích điều chỉnh các chỉ mục của mình hơn phương pháp này.
innodb_flush_method
Cài đặt này kiểm soát cách dữ liệu và nhật ký được chuyển vào đĩa từ bộ nhớ. Tôi thường giữ nó O_DIRECT để tránh bộ đệm kép. Tôi đã nhận thấy rằng bộ đệm kép thường làm giảm hiệu suất của máy chủ.
Các cài đặt tôi đã đề cập ở trên có liên quan đến Hiệu suất MySQL và chúng có thể được thay đổi từ tệp cấu hình. Bạn có thể tìm thấy tệp cấu hình MySQL tại vị trí ở đây trong Linux:/etc/mysql/my.conf
Tuy nhiên, trước khi bạn thay đổi bất kỳ cài đặt nào trong sản xuất, tôi thực sự khuyên bạn nên thử chúng trong hệ thống nhà phát triển của mình. Rất có thể trải nghiệm của bạn khác với trải nghiệm của tôi và bạn cần một giá trị khác cho máy chủ của mình.
Nếu bạn thích blog này, xin đừng quên đăng ký Kênh YouTube của tôi - SQL in Sixty Seconds .