Điểm:0

iowait cao với RAID0. CPU 100%. Dữ liệu tĩnh không được lưu trữ trong RAM

lá cờ us

Tôi yêu cầu sự giúp đỡ của bạn. Bản thân tôi không còn nhìn thấy lối thoát.

tôi có một máy chủ
1x Xeon E-2236
32RAM
Đĩa 4 x 10TB (WDC WD101KRYZ-01) - được thu thập trong RAID-0.
Các đĩa rất nhanh. Mỗi cá nhân cung cấp tốc độ đọc/ghi 250 MB/giây. Mảng RAID-0 tạo ra 900MB / s - khá đủ để bơm một kênh 7 gigabit. Thử nghiệm được tiến hành với hdparm -t /dev/md0

Máy chủ được thiết kế để phân phối các tệp video lớn - đó là máy chủ phát trực tuyến video.

Khi tôi bật lưu lượng truy cập vào máy chủ này, mọi thứ sẽ diễn ra tốt đẹp trong một thời gian, nhưng theo thời gian, iowait phát triển đến mức tối đa. Các ổ cứng chỉ xử lý 40 yêu cầu mỗi giây - rất nhỏ. iowait là quá trình công nhân bận rộn (nginx).

1. Tại sao? Tôi đang làm gì sai?

Tôi đã thử bật aio cho đa luồng trong nginx, nó hữu ích nhưng không cần thiết.

Tôi đã tăng readahead = 8192, blockdev --setra 65536 - không có kết quả.

2. Tại sao nhân không thử lưu trữ dữ liệu tĩnh trong RAM khi CPU tải tối đa?

Tôi đã kiểm tra các đĩa. Không có thành phần xấu. Ổ cứng - tuyệt vời.

3. Tại sao atop chỉ hiển thị tải cao trên một đĩa? (xem ảnh chụp màn hình)
4. RAID-0 có nên tải song song trên tất cả các đĩa không?

Tôi yêu cầu sự giúp đỡ của bạn. Cảm ơn bạn!

Michael Hampton avatar
lá cờ cz
Spinning gỉ có IOPS thấp, điều này quan trọng hơn nhiều so với tốc độ đọc tuần tự. Bạn sẽ làm tốt hơn nhiều với mười đĩa 4TB. Và tiêu ít tiền hơn.
Grey Hill avatar
lá cờ us
Tôi có một máy chủ thứ hai giống hệt nhau, với cùng một đĩa. Hoạt động hoàn hảo. Sự khác biệt duy nhất là trong RAID. RAID-10 trên máy chủ cũ. Trên máy chủ RAID-0 mới. RAID-0 phải nhanh hơn 10 - phải không?
djdomi avatar
lá cờ za
Hdparm không bao giờ là một nguồn đáng tin cậy cho điểm chuẩn. Và những lời của Michael là đúng. Bộ nhớ quay thực sự thấp trên iop
djdomi avatar
lá cờ za
Nhân tiện, bạn có thể sử dụng bộ nhớ đệm để có hiệu suất tốt hơn
Grey Hill avatar
lá cờ us
Djdomi, Xin vui lòng, cho tôi biết bạn đề xuất làm điều này theo cách nào?
Paul avatar
lá cờ cn
RAID 10 có cùng số lượng đĩa không? Cùng số lượng đĩa trong RAID 10 và 0 sẽ cho cùng tốc độ đọc (4x). Tôi tự hỏi liệu việc thêm một ổ SSD và hoán đổi nó có làm tăng IOPS một cách hiệu quả không?
Điểm:0
lá cờ ca

Đĩa 4 x 10TB (WDC WD101KRYZ-01) - được thu thập trong RAID-0

Đầu tiên, hãy để tôi cảnh báo chống lại RAID0 trừ khi bạn là thực sự chắc chắn việc mất tất cả dữ liệu khi đối mặt với một đĩa xấu là tốt. Nói thật, chỉ có bàn di chuột, dữ liệu tạm thời hoặc rất dễ tái tạo mới nên được đưa vào một mảng RAID0.

Máy chủ được thiết kế để phân phối các tệp video lớn - đó là một máy chủ video trực tuyến

Khi đọc tuần tự các tệp lớn, trong đó "lớn" thực sự có nghĩa là "lớn hơn bộ đệm RAM", bộ nhớ đệm không hiệu quả: không thể lưu tất cả dữ liệu tệp vào bộ đệm trong RAM, mỗi lần đọc lại cùng một tệp sẽ khiến dữ liệu được lưu trong bộ nhớ đệm trước đó bị hủy , liên tục xóa bộ nhớ cache của chính bạn một cách hiệu quả.

Ổ cứng chỉ xử lý 40 yêu cầu mỗi giây - rất nhỏ

Thật không may, ổ cứng cơ học rất chậm đối với các IO nhỏ, ngẫu nhiên: một ổ cứng 7200 RPM khỏe mạnh cung cấp trung bình ~70 IOPS khi được thử nghiệm riêng lẻ, có thể ít hơn khi đặt trong một mảng RAID.

Điều đó nói rằng, một dịch vụ phát trực tuyến nên không phải đập các đĩa bằng các IO nhỏ, ngẫu nhiên. Bạn có thể cung cấp đầu ra của các lệnh sau trong trường hợp chờ đợi cao như vậy không?

  • lsblk
  • dstat -d -n -f
  • iotop -a
  • iostat -x -k 1
Điểm:-2
lá cờ us

Chỉ có một giải pháp!

Nếu bạn cần tốc độ đĩa tốt, RAID 0 và 5 thậm chí không nên được xem xét. Đã kiểm tra cá nhân)) Có trên RAID 0 và 5, bạn sẽ có nhiều dung lượng trống, nhưng tốc độ sẽ rất thấp. Dưới tải cao, máy chủ của bạn sẽ yêu cầu trợ giúp.

Tôi đã cài đặt phần mềm RAID 10 và các vấn đề của tôi đã biến mất.

Nhược điểm của RAID 10 là đắt tiền. Nhưng nếu may mắn, bạn sẽ tìm được một nhà cung cấp dịch vụ lưu trữ có giá tốt cho các máy chủ.

Chúc mọi người may mắn!

Tái bútCâu hỏi đã được đóng lại!

Nikita Kipriyanov avatar
lá cờ za
** Điều này chắc chắn là sai **. RAID0 chính xác là dành cho trường hợp mất dữ liệu ở tốc độ tuyến tính rất cao do tính song song và thiếu dự phòng. Trạng thái tối ưu RAID5 và RAID6 sẽ hiển thị tốc độ đọc khá cao, chỉ kém RAID0 một chút, vì chúng thực hiện song song hóa giống nhau.Vấn đề của bạn ở một nơi khác, không chỉ ở cấp độ RAID, các bài kiểm tra của bạn có thể bị lỗi. Làm ơn, đừng lừa người khác.
OnkelJ avatar
lá cờ in
Tôi đồng tình với @NikitaKipriyanov ở đây - RAID0 nhanh hơn. Phải có điều gì đó không ổn với phần mềm và/hoặc phần cứng để RAID10 nhanh hơn. Rất có thể là phần mềm/cấu hình, vì bạn có tốc độ hợp lý với RAID10.
vidarlo avatar
lá cờ ar
Đối với chỉ đọc chẳng hạn như phân phối video, 10 rất có thể nhanh hơn, vì *cùng một dữ liệu* có thể được đọc từ hai đĩa song song.
Nikita Kipriyanov avatar
lá cờ za
@vidario làm thế nào là có thể? Tôi muốn tin rằng RAID10 sẽ hiển thị hiệu suất chính xác như RAID0 với cùng số lượng trục quay. Không hơn, không kém, bởi vì không có lý do gì để nó nhiều hơn, không có lý do gì để nó bớt đi. Và, chỉ tốt hơn RAID5 một chút vì ít hơn một khối dữ liệu trong mỗi dải so với RAID0. Và tốt hơn RAID6 một chút vì nó có ít hơn hai khối dữ liệu trong mỗi dải có cùng số trục quay.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.