Tạo trao đổi Linux trên ổ cứng USB 3 bên ngoài


7

Tôi có một cổng USB 3 ổ cứng gắn ngoài USB 3 trên Debian và tôi muốn tạo một phân vùng trao đổi trên ổ đĩa đó, ổ đĩa này cũng chứa các phân vùng cho cơ sở dữ liệu và các nội dung có dung lượng lớn khác.

Hệ thống của tôi là Debian 7.7.0 trên hộp TS140 RAM 16 GB, SSD 2x120 và ổ cứng 2x750 thông qua Intel BIOS RAID 1. Nếu ổ cứng USB không phải là một ý tưởng tốt, tôi nên đặt một số trao đổi ở đâu? Tôi đã sử dụng cùng một hộp với Debian 7.6 với một ổ cứng trong một thời gian và cách tôi sử dụng nó không bao giờ cần để trao đổi, vì vậy tôi thậm chí không chắc chắn mình cần một phân vùng trao đổi. Tôi cũng hy vọng sẽ sớm nâng cấp RAM lên 32 GB.

Do nâng cấp lưu trữ, sẽ có nhiều tải hơn trên máy chủ (nhiều máy khách VirtualBox hơn), vì vậy tôi muốn chuẩn bị một vị trí cố định hoặc vị trí cho các giao dịch hoán đổi trong quá trình cài đặt. Sẽ là một giải pháp tuyệt vời nếu tôi cũng có thể sử dụng cùng một vị trí cho các máy khách vbox của Windows 'để chuyển đổi từ C: sang đó!

Cho đến bây giờ tôi không biết mình sẽ cài đặt bao nhiêu máy khách VirtualBox và bao nhiêu trong số những ứng dụng tôi cần để chạy cùng một lúc. Tôi chỉ biết rằng tôi cần một máy chủ Windows, máy trạm Windows 7 và máy trạm Linux ở mức tối thiểu.

EDIT: 15/11/2014 16:20

JPvRiel

Những gì bạn đã viết là một mỏ vàng thông tin, cảm ơn bạn rất nhiều vì đã dành thời gian !! Tôi thậm chí sẽ không đặt câu hỏi về bất cứ điều gì bạn đã viết, ít nhất 99% trong số đó cho đến nay có ý nghĩa với tôi - và tôi chỉ đọc qua nó hai lần cho đến nay và nhiều hơn hai lần trong đó.

Tôi đoán cấu hình tôi đang cố gắng để làm cho công việc (không có mối quan tâm tối ưu hóa hoặc cho đến nay chỉ để làm cho nó hoạt động) là gần như phản ánh hoàn hảo các đề xuất của bạn. Cho đến nay..

  • Có, các ổ đĩa SDD trị giá 40-60 đô la Mỹ không bị đổ mồ hôi về cách thức, thời gian và lý do chúng bị hao mòn khi được sử dụng như SWAP. Tôi mặc dù điều này đã được tôi rất hiểu rất rõ và chưa bao giờ làm phiền tôi, vì vậy Cảm ơn bạn! Tôi sẽ không bao giờ - bao giờ xem xét việc tăng giới hạn RAM 32 GB của hộp nhỏ của mình đến nơi mà các ổ đĩa hàng hóa RAID0 120 GB này có thể mang nó -WHEN, một lần nữa - KHI nhu cầu xuất hiện. Xem xét nó sẽ không bao giờ, hoặc có thể trong vài giây ở đây và ở đó, SDD sẽ không bao giờ bị hao mòn - nhưng khoảng 240 GB SWAP bổ sung trên SDD sẽ tạo ra sự khác biệt HUUUUGE trong những KHI hiếm gặp đó! Bạn là một trong 100% chính xác trong đó! Thiết kế hệ thống của tôi sẽ không bao giờ trở lại như cũ sau khi đọc nó. RAID0 trên SSD dưới dạng RAM - bạn là vô giá! Bà hoặc Ngài đã cho tôi không chỉ là một giải pháp mà còn là một triển vọng!

Tôi vẫn đang đọc và cố gắng hiểu hầu hết bài viết của bạn, và một lần nữa - cảm ơn bạn!

Tôi đang làm việc này chủ yếu cho chủ nhân của tôi, người mà ngày nay không mua và đưa vào làm việc một số mới nhất và bằng cách sử dụng của chúng tôi đã chứng minh là công nghệ tốt nhất trên hành tinh, nhưng không ai trong nhà máy bao gồm cả tôi có manh mối nhỏ nhất về cách xử lý tính chất và khối lượng dữ liệu mà các máy đó tạo ra mỗi (tách) giây trong hoạt động. Cho đến nay các hệ thống và phần cứng của công nghệ hoạt động rất tốt và tạo ra sự phình to, chúng ta không thể làm cho chúng báo cáo và tôi không biết tôi nên xây dựng cái gì để khiến chúng làm như vậy - và GIỮ NÓ! Tôi (vẫn) rất bối rối về dự án này.

Mặc dù hầu hết các áp phích ở đây lo lắng về hàng triệu bản ghi trong một cơ sở dữ liệu, tôi lo lắng về hàng trăm và hàng trăm cơ sở dữ liệu được tạo và điền bởi các máy kiểm tra quang tự động mỗi giờ mỗi ngày và tôi cần tìm cách đọc và giữ những gì quan trọng cho chủ nhân của tôi trước khi cơ sở dữ liệu bị xóa và chu trình kiểm tra bắt đầu lại.

Vâng, các kỹ sư tốt bụng của tôi thực sự chỉ là một nhóm thất vọng .. Một lần nữa, thực sự, cảm ơn sự giúp đỡ của bạn! Sandor

THÊM: 12-03-2014

Mức độ thất vọng của tôi đã tăng lên & cho đến khi cuối cùng tôi quyết định cắt giảm theo đuổi, và tập trung vào các yếu tố cần thiết. Và ở đây, tôi hy vọng tất cả các bạn đều có thể có lợi: Nếu bạn không thể mua một hộp có RAM 'không giới hạn' cho mục đích của mình - hãy chọn một số SSD giá rẻ để lưu trữ các tệp trang web Linux / UNIX và trao đổi. Ngân sách để loại bỏ những ổ SSD đó khi chúng bị lỗi, vì vậy hãy mua chúng với số lượng lớn giống nhau và không chú ý đến các đánh giá về SSD mà bạn chọn trừ khi kế hoạch của bạn là điên rồ một cách chắc chắn. Bất kể bạn mua thực tế là gì, luôn có một cái gì đó vốn đã sai với các sản phẩm SSD, và tại thời điểm này, việc giữ gìn sự tỉnh táo của bạn nên được ưu tiên, có không?
Khi bạn đưa ra một số quyết định khó khăn dọc theo các dòng này, phần còn lại rất dễ dàng ... Điều này hoạt động tốt nhất cho các thử nghiệm - nếu bạn đang xây dựng một tải sản xuất thực sự xung quanh nó, hoặc nếu bạn đang cân nhắc sử dụng nó với các máy trạm có khối lượng công việc cao - thì bạn đang ở riêng, đừng báo giá cho tôi. Không bao giờ xem xét việc khởi động MBR hoặc / boot trên SSD hoặc trên bất kỳ RAID nào. Không đặt / nhà trên cùng một ổ SSD như trao đổi - oh boy! Sử dụng chúng, mặc chúng xuống những ổ SSD đó để bạn nhận được giá trị tiền của mình! C: ổ đĩa, / boot & / home trên SSD - Khởi động nhanh hơn có, nhưng đối với bất kỳ máy chủ thử nghiệm nào nằm ngoài Twilight Zone! Tôi có bộ sao chép ổ cứng USB3, bác sĩ khởi động Linux, phần mềm để cài đặt từ az và tất cả công việc và được tin cậy để làm việc với 'quay gỉ'. Tôi thừa nhận họ đang 'tin tưởng rỉ sét' nhưng lại bảo vệ C và / nhà của bạn. Đặt chúng vào quay gỉ. Đừng làm công nghệ mới đánh lừa bạn. Hãy ít nhất xem xét tin tưởng quay gỉ một lần nữa! Không có nhiều điều để nói, nhưng chúc may mắn cho tất cả các bạn! Tôi coi chủ đề này được đóng lại. - Sandor


1
Với 16GB RAM, bạn không nên lo lắng quá nhiều về việc hoán đổi (đặc biệt là nếu bạn sẽ nhân đôi nó sớm!), Nhưng, lý tưởng nhất là giữ nó trên cùng một đĩa với HĐH hoặc trên một đĩa spec tương tự. Nó giống như Windows pagefile - phần lớn bạn nên để hệ thống quản lý nó. Tôi sẽ không đưa nó vào USB bởi vì, trong số 3 loại đĩa bạn có, đây là công nghệ chậm nhất. Nếu bạn muốn có một đĩa riêng thì hãy sử dụng ổ SSD hoặc SATA khác ...
Kinnectus

@BigChris Thật không may, tình huống của tôi phức tạp hơn nhiều .. Tôi cần mô phỏng môi trường sản xuất PCB như một đề xuất trao đổi dữ liệu giữa quá nhiều công nghệ cũ và mới. Tôi có một hộp kim loại để nhồi nhét tất cả vào đây và tôi không biết danh sách khách hàng vbox sẽ phát triển lớn đến mức nào. Nếu, khi tôi cài đặt lại Debian thêm một lần nữa, tôi đặt trao đổi trên ổ USB, điều đó có ổn không? - dù nó chậm thế nào. Tôi có thể kết nối hàng tá USB HDD khác hoặc nhiều hơn nếu tôi cần phải mượn hoặc ăn cắp. Tôi không phải là một chuyên gia CNTT. Cám ơn phản hồi của bạn!
arch-abit

Rõ ràng là có rất ít sự tập trung vào câu hỏi của tôi ... Đây là lần đầu tiên tôi cần phải đối phó với việc lập kế hoạch trước sự phát triển của hệ thống CNTT hoàn chỉnh, và thực tế của sự thật đang áp đảo tôi. Tôi làm điều này bằng thời gian và ngân sách của riêng mình và chủ nhân của tôi cũng có ít kinh nghiệm trong vấn đề đặc biệt này - họ làm trong lĩnh vực sản xuất, không phải trong lĩnh vực CNTT. Chúng tôi biết cách xây dựng PCB và tất cả các loại máy móc - chúng tôi chỉ không biết cách sử dụng chúng.
arch-abit

Sau một số thử nghiệm, bất kỳ trao đổi nào trên bất kỳ loại USB nào đều trở thành một ý tưởng tồi, sự chậm trễ trong quá trình gắn / tháo và các hoạt động USB khác làm cho việc hoán đổi thực sự vô nghĩa. Nếu không, tốc độ chuyển ấn tượng trong trường hợp này cũng là vô nghĩa.
arch-abit

@JPvRiel - Tôi đã cập nhật bài viết của mình và tôi thực sự hy vọng bạn có một ngày rất tốt đẹp!
arch-abit

Câu trả lời:


5

Có một số điều cần xem xét và có thể kiểm tra mang trong đầu thiết lập và trường hợp sử dụng của bạn.

Vị trí phân vùng SWAP được đề xuất

Nếu USB HDD không phải là một ý tưởng tốt, tôi nên đặt một số trao đổi ở đâu?

Câu trả lời ngắn gọn, vâng, bạn có thể tạo phân vùng trao đổi trên ổ cứng USB3, nhưng ổ cứng 2x750GB có thể là nơi an toàn nhất để đặt trao đổi.

Tuy nhiên, bạn cũng có thể trải đều và ưu tiên các phân vùng trao đổi của mình trên tất cả các đĩa với mức độ ưu tiên khác nhau để thử hiệu suất tối đa và khả năng trao đổi. Nếu bạn thích tối ưu hóa quá mức như tôi, tôi khuyên bạn nên thử một cái gì đó như sau (yêu cầu mày mò với fstab, v.v.):

  • Phân bổ một ít không gian phân vùng trao đổi trên mảng SSD 2x, ví dụ 4GB, với mức độ ưu tiên cao (không gian SSD bị hạn chế và hoang tưởng về tuổi thọ của SSD là lý do người khác không làm điều này).
  • Phân bổ thêm không gian phân vùng trao đổi trên mảng ổ cứng 2x, ví dụ 8GB, với mức độ ưu tiên trung bình.
  • Phân bổ không gian hoán đổi thậm chí nhiều hơn trong một tệp hoán đổi trên ổ cứng USB3, ví dụ 16GB với mức độ ưu tiên thấp.

Theo cách đó, nếu RAM hệ thống bị nghiền nát với nhiều quá trình cầu xin RAM và bị tráo đổi, tải được phân phối trên tất cả các thiết bị đĩa. Cũng lưu ý, mức độ ưu tiên trao đổi được dựa trên hiệu suất của các hệ thống đĩa cơ bản.

Tiếp theo tôi sẽ thử đi qua một số lý do chi tiết.

Tốc độ lưu trữ có lẽ quan trọng hơn nhiều

Có lẽ bạn đã đọc đề xuất đặt trao đổi trên một ổ đĩa ít bận rộn hoặc chuyên dụng, nhưng nó chỉ áp dụng trong so sánh loại táo và táo và không phải là quy tắc chính xác cho một hệ thống phức tạp hơn trộn lẫn các phương tiện lưu trữ khác nhau như SSD vs ổ cứng và giao diện SATA vs USB3. Trong trường hợp của bạn, nguyên tắc hướng dẫn là cân bằng các loại tải I / O và phân bổ SWAP nơi bạn mong đợi các loại giao diện lưu trữ và ổ đĩa có thông lượng I / O ngẫu nhiên dự phòng / miễn phí tốt nhất. Đó có thể là SSD, nhưng hãy cẩn thận ...

USB3 HDD cho SWAP

Bạn đã đề cập trong một nhận xét rằng tùy chọn USB3 không hoạt động quá tốt và thực sự, lý do có thể là:

  • Ổ USB3 của bạn có thể là một hệ thống đĩa đơn, trong khi ổ SSD 2x và ổ cứng 2x với RAID của bạn sẽ có hiệu suất tốt hơn, được đưa ra:
    • RAID 0 tăng gần gấp đôi cả hiệu suất đọc và ghi.
    • RAID 1 gần như tăng gấp đôi chỉ cần đọc hiệu năng và có thể làm giảm hiệu suất ghi bằng một lượng nhỏ.
    • Vì vậy, giả sử hiệu năng ổ đĩa cá nhân tương tự, USB3 HDD sẽ chỉ tốt hơn nếu trung bình, mảng SATA HDD 2x bận rộn 50% thời gian và USB3 1x HDD đã bận 0%.
  • Và thậm chí còn hơn thế, nếu bạn so sánh việc hoán đổi trên một ổ cứng SSD với 2 ổ SSD, sẽ không có cuộc thi / cơ hội nào nó sẽ hoạt động tốt như vậy. Các ổ SSD SATA sẽ phải giống như 95% + bận rộn trước khi một ổ USB USB không hoạt động có thể bắt đầu so sánh ...
  • USB3 sẽ có độ trễ cao hơn so với SATA. Và độ trễ thấp là yếu tố chính trong hiệu suất truy cập bộ nhớ và khả năng đáp ứng.

Mảng ổ cứng gắn trong để trao đổi

Như trên, các ổ cứng 2x để trao đổi phải tốt hơn so với chỉ 1 ổ cứng treo USB3, và như sẽ được giải thích, nên an toàn khi sử dụng như SWAP.

  • Các ổ cứng 2x phù hợp nhất với các tập dữ liệu lớn có xu hướng có các mẫu truy cập tuần tự, ví dụ như các tệp phương tiện (nhạc / video / hình ảnh).
  • Tôi không chắc chắn về thiết lập RAID của Intel, nhưng với Linux RAID (mdadm) tôi biết bạn có các tùy chọn, ví dụ:
    • bạn có thể chia sẻ cùng một đĩa, nhưng tạo RAID 0 để trao đổi và RAID 1 cho hình ảnh / dữ liệu VM
    • bạn có thể tránh đột kích trên không và định cấu hình trực tiếp phân vùng trao đổi thứ nhất vào đầu mỗi ổ đĩa riêng lẻ trong khi định cấu hình mdadm để tạo mảng ra phân vùng thứ 2 trên mỗi ổ đĩa
  • Phương tiện truyền thông từ HDD được cho là có tuổi thọ ghi tốt hơn so với SSD (nếu chúng không bị các loại lỗi sớm khác ...)
  • Nếu một hệ thống SWAP rất nhiều, nó ngụ ý rất nhiều ghi.

SSD để trao đổi

2x SSD 120GB sẽ là tuyệt vời cho hiệu suất trao đổi, nhưng tuổi thọ của SSD là một yếu tố cần chú ý.

  • SSD giống RAM hơn so với đĩa quay và có hỗ trợ I / O ngẫu nhiên tốt hơn nhiều.
  • Nếu nhiều máy ảo và quy trình đang chạy và RAM của bạn được sử dụng nhiều, các mẫu truy cập (đọc) lỗi trang đến phân vùng / tệp hoán đổi sẽ kết thúc ngẫu nhiên.
    • Đơn vị phân bổ trang bộ nhớ là nhỏ, tức là 4KB
    • Tôi giả sử hạt nhân Linux thông minh về 'trao đổi' (giải phóng một số ram bằng cách lấy các trang ra và đưa chúng vào đĩa) và thực hiện theo từng đợt để tối ưu hóa cho việc ghi tuần tự hơn vào đĩa.
    • Đối với 'hoán đổi' (khi một quá trình cần dữ liệu từ RAM không có nhưng thực tế là trong lỗi hoán đổi / trang), điều này có thể khá ngẫu nhiên và đó là nơi mà SSD có thể vượt trội.
    • Blog MDSN của Windows 7 Engineering khuyến nghị các ổ SSD được đọc vượt quá số lần ghi khoảng 40 đến 1 (hy vọng Linux về nguyên tắc tương tự), giảm bớt mối lo ngại về việc ghi quá nhiều vào SSD
  • Ngay cả khi ổ SSD của bạn được sử dụng để lưu trữ hệ điều hành chính của bạn và một số hình ảnh VM, có lẽ cũng có rất nhiều khoảng trống cho các hoạt động của tệp SWAP. Tôi có 2x 128 GB quan trọng trong RAID0 và họ nhận được IO tuần tự tuyệt vời (gần 1000 MB / giây) cộng với hiệu suất đọc / ghi ngẫu nhiên khá tốt (tôi đo được gần 5000 IOP và 50 MB / giây trên hỗn hợp đọc ngẫu nhiên khó chịu với các kích cỡ hỗn hợp chủ yếu ở các khối 4K và 16K, nhưng lên tới 256K).
  • SSD cấp doanh nghiệp, tức là dựa trên công nghệ SLC mạnh mẽ hơn, có thể xử lý nhiều chu kỳ xóa-ghi hơn và sẽ ổn khi trao đổi.
  • SSD dựa trên người tiêu dùng, tức là dựa trên MLC mật độ cao rẻ hơn, có thể bị ảnh hưởng xấu hơn tuổi thọ dự kiến ​​nếu việc sử dụng trao đổi trở nên rất nặng nề (Tôi giả sử bạn có SSD dựa trên người tiêu dùng dựa trên nhận xét ngân sách bạn đã thực hiện). Tuy nhiên, ít nhất là trong các tình huống tải công việc của máy tính để bàn thông thường, tôi có vẻ như trao đổi trên SSD không phải là vấn đề.
  • Khi SSD được sử dụng đầy đủ, hiệu suất ghi sẽ giảm và vấn đề hao mòn ghi và vấn đề tuổi thọ thậm chí còn trở nên tồi tệ hơn.
  • Bạn có khả năng có thể giảm thiểu các giới hạn xóa và ghi các vấn đề về hiệu suất của mảng SSD bằng cách cung cấp thêm khoảng trống cho bộ sưu tập rác SSD để giải phóng các khối ghi liền kề để có hiệu suất ghi tốt hơn và tuổi thọ cao hơn.
    • Giả sử trước đây bạn đã sử dụng SSD để hoạt động hết công suất, hoạt động xóa an toàn ATA có thể giúp làm mới chúng để các thuật toán cân bằng hao mòn xem SSD đầy đủ là chưa được phân bổ.
    • Đơn giản chỉ cần phân vùng chỉ 80 đến 90% dung lượng và để hết dung lượng SSD.
  • Loại RAID? Nếu bạn có thêm niềm tin vào độ tin cậy của SSD và có thể dành thời gian để khôi phục từ bản sao lưu, tôi khuyên bạn nên RAID0. Lưu ý RAID 1 trên 2 SSD về mặt kỹ thuật sẽ có tác động gấp đôi về tuổi thọ ghi so với RAID0 (vì nó tăng gấp đôi mỗi lần ghi). Vì vậy, có thể tránh xa RAID1 ...

Các tinh chỉnh khác

Ngoài ra còn có một số điều chỉnh và tùy chọn khác mà bạn nên xem xét khi lo ngại về việc hỗ trợ nhiều máy ảo, v.v.

Linux yêu thích nhiều RAM hơn để lưu trữ I / O và Virtualisation Ghét I / O trên đĩa

Cạm bẫy tiềm năng:

  • Đừng phân bổ tất cả RAM của bạn cho các hệ điều hành khách để bạn có thể tiết kiệm một số cho I / O lưu trữ
  • Tìm điểm ngọt ngào cho 'swappiness'. Việc hoán đổi sẽ để lại một số chỗ trong RAM vào I / O của bộ đệm, nhưng trao đổi quá nhiều sẽ khiến các quá trình bị hoán đổi quá sớm và làm tổn thương đa nhiệm nói chung.

Các CPU hiện đại có hỗ trợ phần cứng tốt để ảo hóa tài nguyên CPU và Bộ nhớ, nhưng khi chia sẻ lưu trữ đĩa, khối lượng công việc ảo hóa thường bị nghẽn. Linux (và windows) có thể cải thiện hiệu suất I / O bằng cách sử dụng RAM để lưu trữ các hoạt động I / O trong khi các thiết bị đĩa SSD hoặc HDD vẫn đang bận 'bắt kịp'. Do đó, RAM thừa của bạn có thể không chỉ hữu ích để chạy nhiều hệ điều hành mà còn cho I / O lưu trữ bộ đệm ảo.

Vị trí trang khách ảo

Sẽ là một giải pháp tuyệt vời nếu tôi cũng có thể sử dụng cùng một vị trí cho các máy khách vbox của Windows 'để chuyển đổi từ C: sang đó!

Tôi không chắc về điều này, nhưng linh cảm của tôi là:

  • thay vì phân bổ đủ / nhiều RAM cho mỗi VM và để linux trao đổi và trong các trang tạo thành quy trình hộp ảo trên máy chủ và khi cần xem xét bằng cách sử dụng điều khiển bóng của Bộ nhớ VirtualBox
    • sau khi kiểm tra hai lần, âm thanh như VirtualBox khóa và chiếm dụng RAM và hệ điều hành máy chủ không thể đưa nó vào và ra
    • vì vậy bạn sẽ vẫn cần một số trao đổi cho khách ảo
  • Có đủ RAM cho mỗi khách và sử dụng tính năng tạo bóng bộ nhớ sẽ nhanh hơn / tốt hơn so với từng khách VM thực hiện việc hoán đổi của riêng họ thông qua I / O ảo ​​có hình phạt hiệu năng
  • đồng thời khám phá tùy chọn cài đặt trình điều khiển virtio cho Windows (VirtualBox hỗ trợ ngay bây giờ và RedHat có các trình điều khiển này)

Nén lưu trữ hoán đổi

Nếu máy chủ ảo của bạn có số lượng lõi CPU dự phòng khá lớn, thì thứ gì đó như zswap có thể hoạt động tốt:

  • Có thể tăng hiệu suất tốt nếu sử dụng ổ cứng 2x cho không gian trao đổi.
  • Có thể không giúp hiệu năng nhiều như vậy với việc hoán đổi thành 2 lần SSD, nhưng nén sẽ ngụ ý ít chu kỳ ghi hơn.
  • Và ngụ ý thêm dung lượng bộ nhớ ảo từ ít bộ nhớ hơn

Dù sao đi nữa, điều này có thể không đáng nỗ lực vì nó sẽ yêu cầu một hạt nhân mới hơn và Debian nổi tiếng vì đã gắn bó với các hạt nhân đã thử nghiệm và cũ hơn, vì vậy không phải là một lựa chọn dễ dàng trừ khi bạn nhập vào một hạt nhân hoặc nhìn vào một bản phân phối khác: Ví dụ Ubuntu 14.04 hoặc CentOS 7 sẽ cung cấp các hạt nhân gần đây hơn.

Kinh nghiệm điểm chuẩn

Trên máy trạm của riêng tôi (Windows 7), tôi đã sử dụng fio ( http://www.bluestop.org/fio/ ) để bắt chước các xu hướng I / O đọc ngẫu nhiên và đọc ngẫu nhiên được đề cập trong blog MSDN. Bất cứ ai khác muốn kiểm tra những tùy chọn lưu trữ khác nhau có thể cung cấp theo khối lượng công việc tệp hoán đổi / trang có thể thử một cái gì đó tương tự.

Khi xem xét dữ liệu từ xa từ hàng ngàn dấu vết và tập trung vào việc đọc và viết pagefile, chúng tôi thấy rằng

  • Pagefile.sys đọc số lượng lớn hơn pagefile.sys viết khoảng 40 đến 1,
  • Kích thước đọc của Pagefile.sys thường khá nhỏ, với 67% nhỏ hơn hoặc bằng 4 KB và 88% dưới 16 KB. Pagefile.sys ghi tương đối lớn, với 62% lớn hơn hoặc bằng 128 KB và 45% có kích thước chính xác 1 MB.

Thiết lập điểm chuẩn

Đây là tập tin công việc fio tôi đã sử dụng:

[global]
description="test random read and write to estimate suitability for page file use"
filename=fakeswap
numjobs=1
iodepth=1
direct=1
sync=1
filesize=2048m

[pageout]
rw=randwrite
bssplit=64k/38:256K/15:1024K/45:4096k/2

[pagein]
rw=randread
bssplit=4K/67:16K/21:64K/10:256K/2

Vì văn bản bài đăng trên blog của MSDN chỉ đề cập ngắn gọn một vài số liệu thống kê, tôi đã đưa ra một số phỏng đoán có giáo dục về kích thước khối và tỷ lệ IO cho các kích thước đó. Tôi đã sử dụng tùy chọn bssplit để cân các kích thước khối khác nhau. Dự đoán của tôi hy vọng không quá tệ khi đưa ra tỷ lệ cuối cùng của việc đọc ngẫu nhiên so với viết IO tôi nhận được là 38,5: 1, khá gần với tỷ lệ 40: 1 được đề cập bởi bài đăng trên blog.

Tôi đã chạy các điểm chuẩn trên chipset lưu trữ dựa trên AMD SB850 và so sánh chúng với hiệu suất của ổ RAM.

  • Kênh đôi DDR3 @ 1600 MHz với RAM 2isk 2G (sử dụng sản phẩm DataRAM RAMDisk)
  • SSDx2 RAID 0 (Quan trọng M4 128GB), NTFS
  • HDDx4 RAID 10 (Seagate 7200,14 3TB), NTFS
  • Ổ đĩa flash ADATA UV150 USB3 32GB, FAT32

Lưu ý, tôi đã thực hiện các điểm chuẩn đọc ngẫu nhiên và ghi ngẫu nhiên một cách độc lập (không trộn lẫn, nhưng một hệ thống thực có thể thấy các mẫu hỗn hợp - Tôi quan tâm đến việc so sánh đọc / pagein so với ghi / trang, do đó tôi tách biệt nó). Ví dụ: các lệnh tôi đã sử dụng là:

fio --section=pageout --output raid10_hdd4_pageout_2G.txt page2g.fio
fio --section=pagein --output raid10_hdd4_pagein_2G.txt page2g.fio

Kết quả điểm chuẩn

Sau khi chạy các điểm chuẩn, họ đã xác nhận sự nghi ngờ của riêng tôi rằng ổ flash USB3 (lưu ý, không phải đĩa cứng trên USB3) có thể hoạt động khá tốt với I / O ngẫu nhiên nhỏ. Tuy nhiên, hóa ra nó không tốt ở các khối ghi ngẫu nhiên lớn hơn với thời gian trễ rất thất thường.

Biểu đồ sau đây cho thấy thời gian được đưa ra trang và trở lại trang trong 2G không gian hoán đổi với các mẫu I / O ngẫu nhiên đại diện / ước tính để phân trang

kết quả điểm chuẩn - thời gian được đưa ra trang và trở lại trang trong 2G không gian hoán đổi với mẫu I / O ngẫu nhiên đại diện

Tôi cũng đã xem xét thông lượng trung bình và so sánh nó với RAM - nó đưa ra ý tưởng về những điều tồi tệ nhận được khi hệ thống phải sử dụng trao đổi ;-)

Bảng so sánh các tùy chọn lưu trữ cho không gian hoán đổi và các tệp trang

Quan sát thêm

  • Đọc ngẫu nhiên I / O quan trọng hơn Viết ngẫu nhiên vì kích thước khối nhỏ hơn và số lượng IO lớn hơn. Theo tỷ lệ, pagein đau đớn hơn trang ...
  • SSDx2 RAID 0 chậm hơn khoảng 10 lần so với RAM
  • HDDx4 RAID10 có vẻ khủng khiếp ở pagein - chậm hơn khoảng 300 lần so với RAM và chậm hơn 30 lần so với SSD.
  • Tuy nhiên, HDDx4 RAID10 có vẻ như sẽ hoạt động tương đối tốt hơn khi ra trang - chậm hơn khoảng 40 lần so với RAM và chỉ chậm hơn khoảng 4 lần so với SSD
  • Ổ đĩa flash USB3 tốt hơn nhiều khi đọc ngẫu nhiên nhỏ so với RAID RAID (nhanh hơn ~ 9 lần), đến nỗi nó bù cho mức độ kém của nó khi ghi ngẫu nhiên (chậm hơn 7 lần). Ngay cả khi cắm vào cổng USB 2, nhìn chung, nó vẫn vượt qua được RAID RAID.

CẢNH BÁO - không khuyến nghị đặt tệp hoán đổi / trang trên ổ flash USB

  • NAND và bộ điều khiển của ổ flash USB có thể thiếu việc triển khai thu gom rác và cân bằng mạnh mẽ (ví dụ: không thể hưởng lợi từ lệnh SSD ATA TRIM), khiến nhiều khả năng, nếu được sử dụng để trao đổi tệp không gian / trang, nó sẽ có tuổi thọ ngắn và suy giảm hiệu suất theo thời gian. Các thử nghiệm của tôi là trên một ổ đĩa flash mới / mới. Có lẽ sau 6 tháng hoán đổi và từ đó, nó sẽ không theo kịp màn trình diễn và có một cái chết sớm.

Một vài lưu ý cuối

  • SSD và ổ cứng của tôi có bộ nhớ khá lớn. 256MB và 64GB tương ứng trên mỗi thiết bị, do đó, điều này có lẽ giúp chúng tăng tốc trong khi ổ flash USB có thể thiếu điều này.
  • Tôi không chắc chắn mức độ quan sát M $ được thực hiện về việc sử dụng tệp trang windows áp dụng cho phân vùng hoặc tệp hoán đổi Linux, nhưng tôi cá là nó không còn xa nữa ...

Người giới thiệu

Đọc thêm (xin lỗi, sẽ đăng nhiều liên kết hơn, nhưng tôi vừa đăng ký và siêu người dùng chưa tin tưởng tôi)


1
Một câu trả lời rất chi tiết! Chào mừng đến với SU!
Prasanna

@Prasanna, cảm ơn. Tối ưu hóa sớm và mày mò là một thói quen tôi không thể đá. Bạn bè của tôi gọi tôi là Đội trưởng '-vv' :-)
JPvRiel

Đọc thêm (xin lỗi, sẽ đăng nhiều liên kết hơn, nhưng tôi vừa đăng ký và siêu người dùng chưa tin tưởng tôi) - không cần phải tin ai cả, các bài đăng quyết định?
arch-abit

@ vòm-abit cảm ơn. Có thể có một hoặc hai lỗi (chỉ cần phát hiện và sửa lỗi sai của tôi về RAID1, nó thực sự sẽ có tác động gấp đôi trong việc rút ngắn tuổi thọ SSD so với RAID0 ...). Nhân tiện, tôi đang bận kiểm tra và đo điểm chuẩn thứ này trên RAID0 SSDx2, RAID10 HDDx4 và Flash Drive 32G. Sẽ chia sẻ kết quả sớm.
JPvRiel

@ vòm-abit. Lưu ý, đã sửa một lỗi khác trong câu trả lời của tôi, vì có vẻ như VirtualBox khóa bộ nhớ mà bạn phân bổ cho khách VM và do đó, hệ điều hành máy chủ không thể hoán đổi. Nhưng cũng cập nhật câu trả lời để bao gồm một liên kết đến Memory Ballooning mà ít nhiều có tác dụng xung quanh vấn đề này ... một lời nguyền của một câu trả lời dài là xác suất cao hơn để nhận được một số điều sai :-)
JPvRiel
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.