Khoa học công nghệ

Cách kiểm tra tốc độ đĩa và RAM của máy chủ Linux của bạn

cài đặt giá đỡ máy chủ
Arjuna Kodisinghe / Shutterstock

Nếu bạn thường xuyên ghi hoặc đọc tệp, tốc độ đĩa của bạn có thể ảnh hưởng đến hiệu suất máy chủ của bạn. Chúng tôi sẽ chỉ cho bạn cách đo tốc độ máy chủ của bạn và cách hiểu cách nó vượt trội so với đối thủ cạnh tranh.

Hiệu suất IO được đo lường như thế nào?

Có nhiều cách khác nhau để đọc và ghi vào đĩa, vì vậy không có con số duy nhất nào tồn tại cho “tốc độ” mà bạn có thể đo lường.

Cách đơn giản nhất để đo hiệu suất là tính thời gian mất bao lâu để đọc các tệp lớn hoặc thực hiện sao chép tệp lớn. Điều này đo tốc độ đọc và ghi tuần tự, đây là một số liệu tốt để biết, nhưng bạn sẽ hiếm khi thấy tốc độ cao như vậy trong thực tế, đặc biệt là trong môi trường máy chủ.

Một số liệu tốt hơn là tốc độ truy cập ngẫu nhiên, đo tốc độ bạn có thể truy cập vào các tệp được lưu trữ trong các khối ngẫu nhiên, bắt chước cách sử dụng trong thế giới thực hơn nhiều.

Danh sách tốc độ đọc và ghi.

SSD thường có tốc độ truy cập ngẫu nhiên nhanh so với ổ cứng, điều này làm cho chúng phù hợp hơn nhiều cho mục đích sử dụng chung. Ổ cứng vẫn có tốc độ đọc và ghi tuần tự khá tốt, điều này rất tốt cho việc lưu trữ và truy xuất dữ liệu.

Tuy nhiên, hiệu suất đĩa có thể không quan trọng nhiều đối với một số khối lượng công việc nhất định. Rất nhiều ứng dụng lưu vào bộ nhớ đệm các đối tượng trong bộ nhớ (nếu bạn có đủ RAM), vì vậy lần tiếp theo bạn muốn đọc đối tượng đó, nó sẽ được đọc từ bộ nhớ thay thế (nhanh hơn). Tuy nhiên, đối với khối lượng công việc nhiều ghi, đĩa vẫn phải được truy cập.

Tốc độ thường được đo bằng MB / s, nhưng một số nhà cung cấp nhất định có thể đo bằng IOPS (Hoạt động đầu vào / đầu ra mỗi giây). Đây chỉ đơn giản là một số lớn hơn có nghĩa là cùng một thứ; bạn có thể tìm thấy IOPS nào từ MB / s với công thức sau:

IOPS = (MBps / Block Size) * 1024

Tuy nhiên, một số nhà cung cấp có thể không thực hiện tốt việc cho bạn biết họ sử dụng điểm chuẩn nào để đo IOPS, vì vậy, tốt hơn là bạn nên tự kiểm tra.

Cài đặt fio cho Kiểm tra đọc / ghi ngẫu nhiên

Mặc dù Linux có tích hợp sẵn dd lệnh, có thể được sử dụng để đo hiệu suất ghi tuần tự, nó không phải là dấu hiệu cho thấy nó sẽ hoạt động như thế nào dưới các ứng suất trong thế giới thực. Thay vào đó, bạn sẽ muốn kiểm tra tốc độ đọc và ghi ngẫu nhiên của mình.

fio là một tiện ích có thể xử lý điều này. Cài đặt nó từ trình quản lý gói của bản phân phối của bạn:

sudo apt-get install fio

Sau đó, chạy thử nghiệm cơ bản bằng lệnh sau:

fio --randrepeat=1 --ioengine=libaio --direct=1 --gtod_reduce=1 --name=test --filename=random_read_write.fio --bs=4k --iodepth=64 --size=250M --readwrite=randrw --rwmixread=80

Điều này chạy các bài kiểm tra đọc và ghi ngẫu nhiên bằng cách sử dụng 250 MB dữ liệu, với tỷ lệ 80% đọc và 20% ghi. Kết quả sẽ hiển thị theo IOPS và MB / s:

Thử nghiệm trên đã được chạy trên AWS gp2 SSD, một SSD trung bình khá, cho thấy hiệu suất ở mức trung bình khá. Hiệu suất ghi sẽ luôn thấp hơn với bất kỳ loại IO nào; nhiều SSD và HDD đã tích hợp sẵn bộ nhớ đệm để bộ điều khiển ổ đĩa sử dụng, điều này làm cho nhiều lần đọc khá nhanh. Tuy nhiên, bất cứ khi nào bạn ghi, bạn phải thực hiện các thay đổi vật lý đối với ổ đĩa, ổ đĩa này sẽ chậm hơn.

Chạy thử nghiệm trên ổ cứng cho thấy hiệu suất IO hỗn hợp ngẫu nhiên thấp, đây là một vấn đề phổ biến với ổ cứng:

kết quả kiểm tra ổ cứng fio

Tuy nhiên, ổ cứng thường được sử dụng để đọc và ghi tuần tự lớn, do đó, kiểm tra IO ngẫu nhiên không phù hợp với trường hợp sử dụng ở đây. Nếu bạn muốn thay đổi kiểu kiểm tra, bạn có thể chuyển một đối số khác cho --readwrite. fio hỗ trợ rất nhiều thử nghiệm khác nhau:

  • Đọc tuần tự: seqread
  • Viết tuần tự:seqwrite
  • Đọc ngẫu nhiên: randread
  • Viết ngẫu nhiên: randwrite
  • IO hỗn hợp ngẫu nhiên: randrw

Ngoài ra, bạn có thể thay đổi kích thước khối bằng --bs tranh luận. Chúng tôi đặt nó thành 4K, khá tiêu chuẩn cho các thử nghiệm ngẫu nhiên, nhưng việc đọc và ghi tuần tự có thể hiển thị hiệu suất tốt hơn hoặc kém hơn với kích thước khối lớn hơn. Kích thước 16KB đến 32KB có thể gần hơn với những gì bạn sẽ gặp phải khi tải thực.

Kiểm tra hiệu suất bộ nhớ

fio không thể kiểm tra tốc độ RAM, vì vậy nếu bạn muốn kiểm tra RAM của máy chủ, bạn phải cài đặt sysbench từ trình quản lý gói của bản phân phối của bạn:

sudo apt-get install sysbench

Gói này có thể đánh giá rất nhiều chỉ số hiệu suất, nhưng chúng tôi chỉ tập trung vào kiểm tra bộ nhớ. Lệnh sau phân bổ 1 MB RAM, sau đó thực hiện các thao tác ghi cho đến khi nó ghi được 10 GB dữ liệu, (Đừng lo lắng, bạn không cần 10 GB RAM để thực hiện điểm chuẩn này).

sysbench --test=memory --memory-block-size=1M --memory-total-size=10G run

Thao tác này sẽ hiển thị tốc độ bộ nhớ tính bằng MiB / s, cũng như độ trễ truy cập liên quan đến nó.

Kết quả kiểm tra tốc độ bộ nhớ tính bằng MiB / s, cũng như độ trễ truy cập liên quan đến nó.

Thử nghiệm này đo tốc độ ghi, nhưng bạn có thể thêm --memory-oper=read để đo tốc độ đọc, phần lớn thời gian phải cao hơn một chút. Bạn cũng có thể kiểm tra với kích thước khối thấp hơn, điều này gây căng thẳng hơn cho bộ nhớ.

Mặc dù vậy, trên thực tế, hầu hết RAM sẽ đủ tốt để chạy mọi thứ và thường bạn sẽ bị giới hạn bởi dung lượng RAM nhiều hơn so với tốc độ thực của nó.

Leave a Comment

Stt buồn về cuộc sống mới nhất 2021