מהי דרך טובה לבדוק את קצב העברת ... - KH1165

שאלות נפוצות

מהי דרך טובה לבדוק את קצב העברת הנתונים של VPN?
 

בדיקת תפוקת VPN באמצעות תיקיית שיתוף קבצים מרוחקת בדרך כלל אינה רעיון טוב משתי סיבות:

הסיבה הראשונה היא פרוטוקול שיתוף הקבצים עצמו. פרוטוקולים כמו SMB, AFP או NFS תוכננו עבור רשתות מקומיות שהן מהירות, אמינות ובעלות חביון נמוך מאוד. האינטרנט לעומת זאת איטי (לפחות החיבור אליו), לא אמין ויש לו חביון גבוה מאוד. לקבלת תוצאות מציאותיות, עליך להשתמש בפרוטוקול שתוכנן במיוחד למצב כזה, כמו HTTP או FTP.

הסיבה השנייה היא יישום פרוטוקול שיתוף הקבצים. כיום רוב מערכות השיתוף משתמשות ב-SMB, פרוטוקול שיתוף הקבצים של Windows. לאפל יש את היישום שלה לפרוטוקול זה, אבל הוא רחוק מלהיות טוב. בעוד שהיישום SMB 3.x כבר ירוד, יישום ה-SMB 1.x/2.x (מצב תאימות) גרוע כמעט ולא ניתן לשימוש ומסיבות שונות macOS נוטה לחזור למצב התאימות הזה. כאשר בדקנו עם תיקיית שיתוף קבצים מקומית, קיבלנו 28 MBps באמצעות SMB 3 ורק 18 MBps באמצעות SMB 1, לעומת 50 MBps באמצעות AFP.

אם יש לך Mac בצד המרוחק, קל מאוד להגדיר הגדרת בדיקה מהירה. פשוט פתח את היישום הסטנדרטי "Terminal" (השתמש ב-Spotlight כדי למצוא אותו) ולאחר מכן הפעל את רצף הפקודות הבא (יש לאשר כל פקודה על ידי Return/Enter):

mkdir /tmp/www-bench
cd /tmp/www-bench
dd count=1048576 bs=1024 if=/dev/random of=1GiB.dat
php -S 0.0.0.0:8080

הפקודה הראשונה יוצרת ספרייה חדשה, השנייה נכנסת לספרייה זו, השלישית יוצרת קובץ נתונים של 1 GiB מלא בנתונים אקראיים והאחרונה מפעילה שרת HTTP פשוט שמגיש את תוכן הספרייה הנוכחית ביציאה 8080. כעת משתמשי VPN יכולים פשוט לפתוח כתובת זו בספארי (או כל דפדפן אחר):

http://a.b.c.d:8080/1GiB.dat

כאשר "a.b.c.d" הוא כתובת ה-IP של המק שעליו הקלדת זה עתה את הפקודות. על ידי מעקב אחר מהירות ההעברה בדפדפן, אתה מקבל מושג טוב לגבי יכולת ה-VPN שלך. כמובן שזה מוגבל על ידי גורמים רבים, כגון מהירות חיבור האינטרנט המקומי שלך, מהירות חיבור האינטרנט המרוחק והספק CPU של שער ה-VPN (שהוא בדרך כלל קטן בהרבה מהספק CPU של Mac).

כדי לנקות לאחר הבדיקה, הפעל מחדש את חלון המסוף, לחץ על CTRL+C כדי לעצור את שרת HTTP ולאחר מכן הפעל את שתי הפקודות הבאות:

cd
rm -r /tmp/www-bench