Điều gì quan trọng hơn cho một máy chủ cơ sở dữ liệu? Mem? Tốc độ Mem? Lõi?


11

Tôi sẽ chuyển máy chủ cơ sở dữ liệu của mình sang phần cứng mới tốt hơn. Máy chủ cơ sở dữ liệu hiện tại không có bất kỳ vấn đề nào ngoại trừ việc nó đang chạy Centos 4. Phần cứng hiện tại là 2 lõi xeon 5335, 4 15K RPM trong RAID 10 và 4GB (vâng, nó thực sự chỉ có 4GB) bộ nhớ.

Các lựa chọn phần cứng trong ngân sách của tôi hầu như không có sự khác biệt về giá và sẽ có cùng 4 ổ cứng 15K RPM trong RAID 10. Chúng là:

  • Xe hai lõi 5335 với 8GB 533/667
  • Xe 2 lõi hex 2620 với 16GB 1333
  • 4 lõi kép opteron 8212 với 8GB 667
  • Xe 1 lõi 2650 với 8GB 1333
  • Xe lõi tứ 3460 với 16GB 1333

Không bao gồm ổ cứng, thứ tự các phần quan trọng của máy chủ cơ sở dữ liệu là gì? Có phải cái gì đó như: kích thước bộ nhớ, tốc độ bộ nhớ, lõi, và sau đó là kích thước bộ đệm?


3
Việc sử dụng hiện tại của bạn trên CPU là gì? Bạn đang chạy ở mức 10%? 50%? Nếu bạn là ~ 30-40% một cách thường xuyên, sau đó có vẻ như 2620 với 16GB RAM là những gì bạn muốn (một chip hexacore Q1`12 với 16GB RAM NHANH Có được không?)
jcolebrand

@jcolebrand Đó là người tôi nghĩ sẽ tốt nhất. Sử dụng trung bình 10-20% với mức tăng đột biến đến 30-40% đôi khi.
Echo nói phục hồi Monica

XEON 2620 ở 2 GHz, XEON 3460 ở 2,8 GHz?
Nils

Câu trả lời:


21

Theo kinh nghiệm của tôi, những gì bạn đang tìm kiếm sẽ theo thứ tự ưu tiên này:

  1. Tốc độ hệ thống con đĩa. RAID10 theo kinh nghiệm của tôi là tốt nhất. Điểm thưởng cho SSD.
  2. Tổng dung lượng RAM Càng nhiều RAM, máy chủ của bạn sẽ càng có nhiều bộ nhớ cache.
  3. Tốc độ bộ nhớ. RAM nhanh hơn rõ ràng là tốt hơn RAM chậm hơn, tuy nhiên RAM luôn nhanh hơn đĩa, do đó, RAM chậm hơn sẽ tốt hơn RAM nhanh hơn.
  4. Số lượng lõi CPU
  5. Tốc độ CPU

Điều này rõ ràng phụ thuộc vào ứng dụng, nhưng thông thường , công việc của máy chủ cơ sở dữ liệu là cung cấp quyền truy cập dữ liệu rất nhanh , do đó tốc độ CPU không quan trọng bằng tốc độ truy cập dữ liệu (đĩa và RAM). Nhưng rõ ràng nếu bạn đang sử dụng nhiều phép toán / tính toán trong các truy vấn của mình, bạn cần nhiều tài nguyên CPU hơn.


2
tùy thuộc vào kiến ​​trúc db tôi sẽ nói rằng nhiều lõi sẽ tốt hơn về tổng thể so với tốc độ cpu nhiều hơn, bởi vì tốc độ xung nhịp cao hơn! = đường ống ngắn hơn và có quá nhiều điều cần xem xét ở đó, nhưng với nhiều lõi hơn, HĐH có thể có nhiều chỗ hơn làm các quy trình phụ, và các động cơ thường đủ thông minh để có thể tự trải rộng trên nhiều lõi hơn.
jcolebrand

@jcolebrand điểm lấy và trả lời cập nhật!
Josh

2
Vì MySQL đã được đề cập cụ thể, bộ xử lý nhanh hơn thường là lựa chọn tốt hơn nhiều (giả sử bạn không nói về chỉ 1 hoặc 2), vì tốc độ của một truy vấn bị giới hạn cơ bản bởi tốc độ của một bộ xử lý. Ngay cả các phiên bản MySQL gần đây nhất cũng không mở rộng quy mô cũng như một số RDBMS khác trên nhiều lõi do sự tranh chấp nội bộ và semaphore. Tôi chạy một số máy chủ 24 lõi và tôi sẽ trao cho cánh tay trái của mình để trao đổi chúng với một nửa số lõi nhanh hơn 1,5 lần.
Aaron Brown

7

Khi nói đến MySQL, bạn cũng phải xem xét Công cụ lưu trữ mặc định của dữ liệu của mình.

Nếu chỉ sử dụng dữ liệu MyISAM, bạn chỉ cần xem xét những điều sau đây

Tốc độ ổ đĩa, Tốc độ bộ nhớ, Tổng RAM, CPU

Number of Cores là một nonfactor lớn vì MyISAM (trên thực tế, mysqld) không sử dụng nhiều lõi.

Nếu chỉ sử dụng dữ liệu InnoDB, bây giờ bạn có một cái gì đó để nói về lõi.

MySQL 5.5 hiện có hỗ trợ đa lõi cho InnoDB.

Tất cả các CPU sẽ bắn vào tất cả các trụ cho InnoDB miễn là bạn cấu hình đúng cách InnoDB làm như vậy. Dù bạn có tin hay không, nếu bạn không định cấu hình InnoDB, có những trường hợp các phiên bản cũ hơn của InnoDB sẽ nhanh hơn so với các phiên bản mới hơn.

Lưu ý cho người điều hành

Nếu có quá nhiều liên kết, xin đừng downvote. Chỉ cần cảnh báo tôi và tôi có thể paraphrse từ trích đoạn của các liên kết.


Đó là tốt để biết. Rất nhiều bảng là MyISAM, nhưng hầu hết nếu không phải tất cả đều có thể thay đổi thành InnoDB, điều mà tôi đã nghĩ đến khi thực hiện. Tôi sẽ nâng cấp lên 5.1 (từ 4.1)
Echo nói Rebstate Monica

Bạn cần nâng cấp lên 5.5. MySQL 5.1 yêu cầu plugin. Nó dễ dàng hơn chỉ để đi 5.5.
RolandoMySQLDBA

Plugin InnoDB có thể được cài đặt dễ dàng trong 5.1. Ngoài ra, Percona Server 5.1 dựa trên plugin InnoDB.
Aaron Brown

@AaronBrown: Vì Echo có MySQL 4.1, nên Percona 5.1 hoặc MySQL 5.5 sẽ làm điều đó. Mặc dù tôi đã cài đặt các plugin semisync 5.5 trước đó, tôi chỉ hơi lười biếng với các plugin.
RolandoMySQLDBA

0

Từ tất cả những gì đã được nói và những gì tôi có vẻ từ các máy chủ DB: "2 hex core xeon 2620 với 16GB 1333" dường như là lựa chọn đầu tiên.

Sử dụng RDIMM3 với tốc độ 1333 MHz - 12 hoặc 15 GB có thể nhanh hơn 16 GB, vì bạn có thể chia số lượng DIMM cho 3.

Nếu DB của bạn nặng về ghi, hãy tìm hiệu năng IO của đĩa tốt.

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.