Việc thêm CPU làm giảm hiệu suất của MySQL 5.5 (Debian)


8

Tôi sắp thiết lập một máy chủ cơ sở dữ liệu (MySQL) trong thùng chứa OpenVZ và tôi đã tự hỏi tôi nên gán bao nhiêu CPU cho nó. Tôi quyết định điểm chuẩn nó. Tôi đã so sánh hai bản phân phối OS / MySQL và kiểm tra cách chúng hoạt động với CPU 1, 2, 3 và 4.

Cấu hình phần mềm đầu tiên là:

  • Phiên bản CentOS 6.5 (Cuối cùng)
  • mysql Ver 14,14 Phân phối 5.1.71, cho redhat-linux-gnu (x86_64) bằng cách sử dụng readline 5.1

Thư hai:

  • Debian GNU / Linux 7 \ n \ l
  • mysql Ver 14,14 Phân phối 5.5.31, cho debian-linux-gnu (x86_64) bằng cách sử dụng readline 6.2

Cả hai đều chạy trên cùng một kernel - 2.6.32-openvz-042stab083.2-amd64 # 1 SMP Thứ Sáu ngày 8 tháng 11 17:59:25 MSK 2013 x86_64 GNU / Linux.

Tất cả phần mềm đã được cài đặt từ các gói và được sử dụng ngoài hộp mà không cần chỉnh sửa cấu hình tùy chỉnh.

Phần cứng: RAM 6GB, CPU 1-4 3,5 GHz.

Để đo điểm chuẩn, tôi đã sử dụng sysbench với kịch bản sau:

sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --db-driver=mysql --mysql-password=d prepare
sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --db-driver=mysql --mysql-password=d --max-time=60 --oltp-read-only=on --max-requests=0 --num-threads=8 run

Trong cả hai trường hợp, động cơ của bảng là InnoDB.

Đầu ra tôi đang xem là số lượng giao dịch mỗi giây. Kết quả khá ổn định - sai số nhỏ hơn 1%.

Kết quả rất tốt và được mong đợi cho CentOS / MySQL5.1, nhưng rất lạ đối với Debian / MySQL5.5: nhập mô tả hình ảnh ở đây

Như bạn có thể thấy, MySQL5.5 trên Debian không tận dụng đúng cách nhiều CPU. Mặc dù hiệu năng với 2 CPU cao hơn so với 1, nhưng rõ ràng là thấp hơn so với trên CentOS / MySQL5.1. Hơn nữa, nó đi xuống khi chúng tôi thêm nhiều CPU vào đầu 2, điều này thực sự kỳ lạ.

Ai đó có thể vui lòng giải thích những gì đang xảy ra ở đó? Tại sao trên Trái đất MySQL sẽ hoạt động kém hơn khi chúng ta thêm CPU?


Sự tranh chấp tài nguyên có thể xảy ra ở đây - bạn có nhiều máy chủ / container ảo khác đang chạy trên máy chủ này không? Có thể các bộ xử lý vật lý đã được tải trong quá trình cài đặt Debian của bạn không?
đèn đen

Các kết quả đã / là khá tái sản xuất. Đó là máy chủ kim loại trần nhà của riêng tôi và tôi đã không tải nó với bất cứ thứ gì khác trong quá trình thử nghiệm.
Greendrake

Ý tôi là, tất nhiên có một vài máy ảo khác trên máy chủ, nhưng chúng không hoạt động.
Greendrake

Tôi đã nói kernel, nhưng nó giống nhau ... Bạn có thể thử sử dụng cùng một phiên bản trên cả hai hệ thống không?
miniBill

khác nhau, debian sử dụng eglibc en.wikipedia.org/wiki/Embedded_GLIBC , có lẽ đây không phải là vấn đề
c4f4t0r

Câu trả lời:



1

Đây là một câu hỏi thực sự hàng đầu mà không cần biết trước về kiến ​​trúc mà bạn đang chạy .. nhưng nhìn chung có một cú đánh theo cấp số nhân khi thông qua dung lượng CPU, đặc biệt là kiến ​​trúc hỗ trợ nhiều bộ xử lý đa lõi, chỉ cần dừng lại và suy nghĩ một lát ý nghĩa của chu kỳ gián đoạn trên bất kỳ giới hạn băng thông xe buýt nào được triển khai .... trong mọi trường hợp thực hiện ... hiểu rằng kiến ​​trúc của bạn sẽ đóng chai I / O hoặc Bits Per Chu kỳ, một lần nữa hãy nhớ rằng nhiều cpu cần nhiều luồng .. vì vậy, bất kể tốc độ của FSB của bạn là bao nhiêu ... nếu phần cứng của bạn chỉ có 64 bit thì kết nối điện vật lý sẽ phải chia sẻ giới hạn này qua nhiều lõi trong cùng một chu kỳ đồng hồ ...Bây giờ hãy dừng lại và nghĩ đến ý nghĩa tích cực của việc nâng cấp từ bảng 64 bit lên bo mạch hệ thống 256 bit, bạn có thể nhận được thông lượng tốt hơn gấp 3 lần ở độ nghiêng hoàn toàn do x1 sẽ được sử dụng khi xâu chuỗi / duy trì hoạt động .. tuy nhiên trong các hoạt động bình thường bạn có thể gặp phải một thực tế khó chịu về chi phí hoạt động khi bạn chỉ cần một bộ xử lý / toán tử duy nhất .. Tôi đoán đó là một hành động cân bằng hoặc cụ thể hơn là con ngựa phù hợp cho khóa học phù hợp .. Steveo Reedo nextfriend@live.co.ukTôi đoán đó là một hành động cân bằng hoặc cụ thể hơn là con ngựa phù hợp cho khóa học phù hợp .. Steveo Reedo nextfriend@live.co.ukTôi đoán đó là một hành động cân bằng hoặc cụ thể hơn là con ngựa phù hợp cho khóa học phù hợp .. Steveo Reedo nextfriend@live.co.uk


0

Khi bạn thêm CPU, điều sẽ thực hiện nhiều thao tác song song. Nếu bạn chưa tăng số lượng RAM, thì việc hoán đổi có thể xảy ra sau đó, đặc biệt nếu bạn sử dụng phiên bản béo hơn (và mới hơn có nghĩa là đầy đủ hơn) của phần mềm bạn đang kiểm tra.

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.