Hiệu suất của NFS trên Debian


9

Tôi đang có hiệu suất rất không nhất quán với NFS giữa hai máy khò khè và dường như tôi không thể hiểu được.

Thiết lập:

Máy 1 'video1': Dual 5506 w / 12GB ram, XFS trên 8x3TB RAID6 được xuất dưới dạng 'video1' từ '/ mnt / Storage'

Máy 2 'Storage1': Phenom X2 @ 3.2Ghtz w / 8GB ram, ZFS trên 5x2TB được xuất dưới dạng 'Storage1' từ / mnt / Storage1-Storage

Hiệu suất ghi cục bộ:

mackek2@video1:/mnt/storage/testing$ dd if=/dev/zero of=localwrite10GB bs=5000k count=2000
2000+0 records in
2000+0 records out
10240000000 bytes (10 GB) copied, 16.7657 s, 611 MB/s

Hiệu suất đọc cục bộ:

Cả hai đều được kết nối với cùng một công tắc HP gigabit và iperf cung cấp cho rock 940mbps cả hai cách.

Vấn đề của tôi là khi tôi ghi vào video1 xuất từ ​​Storage1, hiệu suất ở mọi nơi. Có vẻ như trong vài (5) hợp đồng chuyển tập tin đầu tiên (tôi hy vọng sẽ di chuyển khoảng 30-120GB tệp AVCHD hoặc MJPEG càng nhanh càng tốt), hiệu suất tăng từ 900mbps, xuống 150-180mbps, vì vậy lần chậm 30mbps. Nếu tôi khởi động lại máy chủ nhân NFS, hiệu năng sẽ sao lưu thêm một vài hợp đồng biểu diễn.

mackek2@storage1:/mnt/video1/testing$ dd if=/dev/zero of=remoteWrite10GB count=2000 bs=5000K
2000+0 records in
2000+0 records out
10240000000 bytes (10 GB) copied, 223.794 s, 45.8 MB/s
mackek2@storage1:/mnt/video1/testing$ dd if=/dev/zero of=remoteWrite10GBTest2 count=2000 bs=5000K
2000+0 records in
2000+0 records out
10240000000 bytes (10 GB) copied, 198.462 s, 51.6 MB/s
mackek2@storage1:/mnt/video1/testing$ dd if=/dev/zero of=bigfile776 count=7000 bs=2000K
7000+0 records in
7000+0 records out
14336000000 bytes (14 GB) copied, 683.78 s, 21.0 MB/s
mackek2@storage1:/mnt/video1/testing$ dd if=/dev/zero of=remoteWrite15GB count=3000 bs=5000K
3000+0 records in
3000+0 records out
15360000000 bytes (15 GB) copied, 521.834 s, 29.4 MB/s

Khi mọi thứ đang diễn ra nhanh chóng, nfsi điều hòa trên máy khách sẽ cung cấp RTT trung bình trong vài ms, nhưng nó sẽ quay lên tới hơn 1,5 giây RTT ngay khi hiệu suất giảm. Ngoài ra, độ sâu hàng đợi CPU nhảy lên đến hơn 8 trong khi ghi đang diễn ra.

Bây giờ, khi đọc từ cùng một bản xuất, tôi nhận được 890Mbps đẹp hoặc mất vài mbps cho toàn bộ số đọc.

mackek2@storage1:/mnt/video1/testing$ dd if=remoteWrite10GBTest2 of=/dev/null
20000000+0 records in
20000000+0 records out
10240000000 bytes (10 GB) copied, 89.82 s, 114 MB/s
mackek2@storage1:/mnt/video1/testing$ dd if=remoteWrite15GB of=/dev/null
30000000+0 records in
30000000+0 records out
15360000000 bytes (15 GB) copied, 138.94 s, 111 MB/s

Điều tương tự cũng xảy ra theo cách khác với Storage1 là máy chủ NFS. Hàng đợi CPU nhảy lên, tốc độ giảm xuống tào lao, và tôi kéo tóc ra.

Tôi đã thử tăng số lượng da NFS lên tới 64, và nó vẫn xuất hiện sau một vài hợp đồng biểu diễn.


... tùy chọn async khi xuất đã sửa nó. Bây giờ để xem liệu tôi có thể tăng thêm vài mbps với khung hình khổng lồ không.
Kyle M

1
Vui lòng gửi bài này dưới dạng câu trả lời và chấp nhận nó khi bạn có thể để người khác biết rằng vấn đề đã được giải quyết.
mgorven

Câu trả lời:


4

Bạn không bao gồm các tùy chọn gắn kết hoặc xuất của mình, do đó, có một số điều với NFS có thể ảnh hưởng đến hiệu suất. Tôi khuyên bạn nên thử các tùy chọn sau để có hiệu suất và độ tin cậy NFS tối đa (dựa trên kinh nghiệm của tôi):

  • Tùy chọn gắn kết: tcp,hard,intr,nfsvers=3,rsize=32768,wsize=32768

  • Tùy chọn xuất: async


Cũng cần lưu ý, các tùy chọn gắn kết ở trên cũng là những tùy chọn được Oracle khuyến nghị để chạy Oracle trên NFS.
Christopher Cashell

tôi cũng có thể cải thiện hiệu suất đáng kể với mẹo trên, tuy nhiên nfsvers=3không cần thiết.
Anarcat

@anarcat - Đối với các bản phát hành hiện đại, bạn đúng, nfsvers=3sẽ không quan trọng bằng. Gắn kết NFS Linux được sử dụng để mặc định cho NFS phiên bản 2, trừ khi bạn chỉ định phiên bản 3. Trong những trường hợp đó, việc đặt phiên bản rõ ràng là rất đáng giá. Trong các bản phát hành hiện đại, mount sẽ đàm phán, bắt đầu với v4, sau đó thử v3, sau đó quay lại v2.
Christopher Cashell
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.