Tăng tốc các phiên X từ xa


16

Tôi có một máy từ xa chạy Ubuntu 11.10 Server, mà tôi kết nối qua SSH từ OS X 10.7.3:

Lưu trữ từ xa.example.com
 Chuyển tiếpX11 có
 ForwardX11Được có

Đôi khi tôi muốn khởi chạy một ứng dụng GUI ở đó (đáng chú ý nhất là gitk). Nhưng UI khá chậm. Cả máy từ xa và máy Mac của tôi đều có kết nối internet tốt. Ping giữa chúng là khoảng 55ms và không bị mất gói. Có điều gì tôi có thể làm để tăng tốc mọi thứ?

Thiết lập một số giải pháp máy tính từ xa khác là một tùy chọn, nhưng tôi muốn tránh nó vì tôi không cần ứng dụng này thường xuyên.


Bạn đã thử bật tính năng nén khi gọi ứng dụng chưa?
Journeyman Geek

1
Cảm ơn. Như bạn có thể thấy từ .ssh/configtrích dẫn của tôi , không có tôi đã không. Tôi đã thêm Compression yesCompressionLevel 9vào cấu hình máy chủ. Có vẻ như bây giờ nhanh hơn một chút, nhưng vẫn không đủ để sử dụng thoải mái. Tôi có thể làm gì khác không?
Alexander Gladysh

@AlexanderGladysh Tốc độ ngược dòng của bạn là gì?
EKW

scpcho biết 1,2 MB / s khi tải lên hoặc tải xuống máy từ xa đó, con số đó ít nhiều là con số mà ISP của tôi quảng cáo.
Alexander Gladysh

1
Nếu có thể, sử dụng sshfs hoặc một số hệ thống tệp mạng khác và chạy ứng dụng của bạn cục bộ có thể sẽ nhanh hơn (trừ khi git repo của bạn thực sự lớn).
Eroen

Câu trả lời:


15

Bài viết Các tùy chọn SSH tốt nhất để chuyển tiếp X11 khuyên bạn nên sử dụng thay vì mật mã AES mặc định, mật mã arcfour và blowfish hoạt động tốt hơn nhiều.

Do đó, người ta nên sử dụng:

ssh -c arcfour,blowfish-cbc -XC host.com

Ghi chú công nghệ của Seb (nếu trang web bị hỏng thì có phiên bản lưu trữ ) khuyên bạn nên:

ssh -Y -C -o CompressionLevel=9 -c arcfour,blowfish-cbc user@hostname

Điều này có thể giúp cải thiện thêm một số mức tăng tốc độ mà bạn đã quan sát được khi nén.


1
AES, arcfour và blowflish không nén; chúng là mật mã. Lưu ý rằng bằng cách thay đổi khỏi AES, bạn hạ thấp tính bảo mật của kết nối; vì vậy điều này có thể không khả thi trong một số trường hợp. Tuy nhiên, -Ctùy chọn là chính ở đây, vì đó là nén. Cảnh giác với việc thiết lập mức Nén, đảm bảo đo nó vì nó có thể có tác động rất lớn đến CPU ...
Tamara Wijsman

Ngoài ra, một số CPU có khả năng tăng tốc phần cứng để mã hóa AES.
cướp

6

Bạn đã đề cập rằng bạn không muốn thiết lập một số giải pháp máy tính từ xa khác nhưng bạn quan tâm đến hiệu suất. X11 không phải là một giao thức rất hiệu quả, vì vậy bạn sẽ chỉ có thể mong đợi những cải tiến nhỏ trừ khi bạn sử dụng một giao thức hiện đại hơn.

NX (NoMachine) có lẽ là sự lựa chọn tốt nhất của bạn. Nó vẫn sử dụng ssh, do đó không cần quá nhiều nỗ lực so với các giao thức máy tính để bàn khác có thể yêu cầu thay đổi cài đặt tường lửa, v.v. Có các gói NX cho Fedora, vì vậy tôi cho rằng chúng cũng có sẵn cho Ubuntu.

Nếu bạn quan tâm đủ về hiệu suất để dành thời gian để đặt câu hỏi, thì hy vọng bạn có thể dành thêm vài phút để học NX.

EDIT: Để làm rõ lý do tại sao X11 qua ssh sẽ không bao giờ nhanh: giao thức X xử lý bản vẽ mức thấp như đường và vòng tròn và với các sự kiện cấp thấp như "chuột di chuyển 3 pixel sang trái". Các bộ công cụ GUI hiện đại như GTK và Qt không vẽ đường, chúng vẽ hình ảnh. Khi X11 vượt qua SSH, nó phải liên tục gửi dữ liệu hình ảnh và các sự kiện chuột ở mức độ thấp. Một giao thức cấp cao như NX, VNC hoặc Remote Desktop có thể giảm băng thông và độ trễ bằng cách nhận thức được cách thức hoạt động của bộ công cụ. Ví dụ, họ có thể tránh sự cần thiết phải gửi các sự kiện chuột, họ có thể tránh hàng ngàn lần vẽ lại khi cửa sổ được di chuyển và họ có thể lưu trữ các khu vực của màn hình như các menu. Nếu hiệu năng thậm chí là một mối quan tâm nhỏ, X11 thô luôn là lựa chọn sai. May mắn thay, có vô số lựa chọn thay thế nhanh chóng, dễ cấu hình và sử dụng.


Không phải là tôi không muốn sử dụng máy tính để bàn từ xa, nhưng tôi muốn thử tối ưu hóa kết nối X11 của mình trước :-) Cảm ơn bạn, tôi sẽ xem NX.
Alexander Gladysh
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.