Tại sao một ứng dụng nhiều đĩa nặng sẽ chạy nhanh hơn trên SAN so với trên Đĩa vật lý?


21

Tại sao một ứng dụng nhiều đĩa nặng sẽ chạy nhanh hơn trên SAN so với trên Đĩa vật lý? Tôi đã dự kiến ​​đĩa Vật lý sẽ nhanh hơn một chút nhưng thực tế quá trình này chạy nhanh hơn 100 lần khi ổ đĩa làm việc của nó được đặt thành một phân vùng trên SAN.

Chúng tôi đoán rằng SAN được tối ưu hóa nhanh chóng trong khi các cài đặt điều chỉnh đĩa vật lý có liên quan đến HĐH (Solaris) và không bị chạm hoặc hệ điều hành bị vá.

Trong hoạt động cao nhất, I / O của đĩa đã chạy ở mức 100% và thời gian để hoàn thành ghi là hơn 2 giây vì một số quy trình đã được ghi vào đĩa cùng một lúc.

(FYI ứng dụng liên quan là Informatica PowerCenter)

Câu trả lời:


23

Tôi hoàn toàn không ngạc nhiên. Mảng SAN thường có rất nhiều đĩa liên quan. Yếu tố giới hạn cho I / O của đĩa là tốc độ của từng đĩa riêng lẻ và các ngăn xếp này. 6 ổ đĩa cục bộ trong RAID10 sẽ hoạt động tốt hơn 2 và 80 ổ đĩa trên SAN sẽ hoạt động tốt hơn 10 ổ đĩa cục bộ. Tất nhiên có nhiều biến số, nhưng đó là cách nó hoạt động.

Ngoài ra, nếu SAN có bất kỳ ổ SSD nào tham gia, mọi thứ sẽ thực sự nhanh chóng.


15

Nó gần như chắc chắn là do bộ nhớ đệm. Xác suất DAS có bộ nhớ đệm tối thiểu, trong đó hầu hết các SAN doanh nghiệp có nhiều gigabyte bộ đệm. Tôi đoán ứng dụng đang bão hòa bộ nhớ cache của DAS, nhưng không phải là SAN.


1
Độ trễ rõ ràng trên SAN sẽ dài hơn DAS nhưng thông lượng tổng thể cao hơn trên SAN với tất cả bộ nhớ đệm. Câu trả lời tốt.
Matt

và sau đó thường có một bộ đệm đọc trước để đọc / ghi ngẫu nhiên của nó có tác động lớn nhất và sau đó bạn có thể ghi bộ đệm để các lần đọc ngẫu nhiên duy nhất bị ảnh hưởng, tuy nhiên vẫn có độ trễ khá nhỏ.
Silverfire

1
Hệ thống lưu trữ được cấu hình đúng trên SAN không bị quá tải sẽ cho bạn thời gian ghi ngẫu nhiên khoảng 1-2ms.
MikeyB

@MikeyB Tôi không đồng ý với bạn. 1-2ms viết cho SAN có vẻ đúng. Nhưng cấu hình SAN của Charles nhanh hơn 100 lần so với các đĩa vật lý quá tải của anh ta (ghi là 2 giây cho lần sau). Vì vậy, ngay cả hiệu suất SAN của anh ấy cũng không tốt lắm, ở 20ms thay vì 1-2ms ...?
Ellie Kesselman

9

Về mặt khái niệm, nó luôn có cảm giác như phục vụ đĩa từ SAN nên chậm hơn so với phục vụ cục bộ. Tuy nhiên, có rất nhiều yếu tố có thể đảo ngược điều này và kết quả là SAN là một lựa chọn nhanh hơn nhiều. Một số yếu tố này là:

  • Khối lượng công việc của bạn đòi hỏi thời gian tìm kiếm nhanh hoặc thông lượng nhanh, hoặc cả hai?
  • Có bao nhiêu trục chính trên SAN LUN so với đĩa cục bộ?
  • Tốc độ bus nào giữa SAN LUN và máy chủ, so với giao diện đĩa cục bộ?
  • Có bao nhiêu bộ đệm đọc / ghi có sẵn trên SAN LUN so với đĩa cục bộ?
  • Tốc độ nào là các đĩa quay ở SAN LUN so với đĩa cục bộ?
  • Hoạt động IO nào khác đang diễn ra trên SAN LUN so với đĩa cục bộ?
  • Cấp độ RAID là các mảng trên SAN và bộ nhớ cục bộ?

Tất cả những điều này sẽ ảnh hưởng đến hiệu suất của bạn trên SAN và đĩa cục bộ.


1

Tất cả đều phụ thuộc vào số lượng cọc có sẵn .... Số lượng cọc càng cao thì càng nhanh để truy cập vào bất kỳ mẩu dữ liệu nhất định nào. nếu bạn nặng IO, đặc biệt nếu bạn là một ứng dụng cơ sở dữ liệu, thì bạn hoàn toàn có thể dễ dàng chôn vùi hiệu năng đĩa cục bộ bằng giải pháp SAN có thể có số lượng bộ đĩa cao hơn nhiều để quản lý dữ liệu lõi, chỉ mục, v.v.

Với hệ thống con đĩa cục bộ, bạn cũng có khả năng chia sẻ quyền truy cập vào đầu đọc / ghi với các hoạt động khác, chẳng hạn như r / w để trao đổi, truy cập tệp hệ điều hành và thư viện cục bộ, truy cập ứng dụng, v.v ... Trong khi cá nhân nhanh, thời gian tập thể cho tất cả các hành động đọc / ghi để di chuyển các đầu đọc / ghi từ một vùng của đĩa để che hết một tập hợp hành động này sang một hành động khác để đáp ứng các yêu cầu ứng dụng của bạn chắc chắn có thể đánh bại hiệu năng.

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.