Bộ xử lý MySQL và đa lõi


8

Tôi đang chạy MySQL trên máy chủ win2008 trên bộ xử lý xeon đa lõi. Có vẻ như nó chỉ sử dụng một lõi duy nhất.

Có cái gì tôi cần cấu hình để làm cho nó sử dụng tất cả các lõi không?

Máy chủ đang hỗ trợ một trang web được tải với nhiều cuộc gọi. Tôi chắc chắn có nhiều hơn một cuộc gọi cùng một lúc, nhưng DB có vẻ sẽ xử lý mọi thứ trong một lõi.

Tôi có thể làm gì để cải thiện nó?


Bạn đã kiểm tra cài đặt mối quan hệ của quy trình trong trình quản lý tác vụ chưa?
gekkz

Bạn đang sử dụng phiên bản nào của mysql ???
RolandoMySQLDBA

MySQL 5.0 & 5.1 là đa luồng , nhưng tôi cũng nhận thấy rằng một số chức năng (như Sao chép) sẽ sử dụng 100% một CPU trên máy đa bộ xử lý / đa lõi trong khi các lõi khác không hoạt động.
Stefan Lasiewski

Câu trả lời:


7

Nếu bạn muốn có thể điều chỉnh MySQL để sử dụng nhiều lõi, bạn cần nâng cấp lên MySQL 5.5.

Theo Whitepaper của MySQL "Có gì mới trong hiệu năng và khả năng mở rộng của MySQL 5.5" từ tháng 12 năm 2010:

Kiểm soát Chủ đề I / O nền - Người dùng hiện có hai tham số cấu hình mới cho tất cả các nền tảng, innodb_read_io_threads và innodb_write_io_threads cho phép cài đặt số lượng chủ đề nền được sử dụng cho các yêu cầu đọc và ghi. Điều này giúp người dùng điều chỉnh và mở rộng các ứng dụng MySQL của họ trên các hệ thống cao cấp, đa lõi 􀁸 Kiểm soát tỷ lệ I / O của luồng chính - Người dùng hiện có thể định cấu hình dung lượng I / O tổng thể

Các tham số được đề cập là innodb_read_io_threadsinnodb_write_io_threads .

Các cài đặt này không tồn tại trước MySQL 5.1,38. Trên thực tế, chỉ có Plugin MySQL cho phép các cài đặt này trong MySQL 5.1. Nó được bao gồm trong InnoDB bản địa của MySQL 5.5.

Có lẽ Blog Post này cung cấp cho bạn cái nhìn sâu sắc hơn về Khả năng mở rộng của InnoDB cho Máy chủ nhiều lõi .


Đó là 5,5, tôi sẽ kiểm tra các thông số này và phê duyệt.
Dani
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.