כמה ליבות OpenVPN צריך? זה תלוי במסלול
זרימה אחת יכולה להחזיק ליבה בעוד השרת נראה בטל. השוו את המסלול במרחב המשתמש עם הפריקה לתוך הגרעין, ואז מדדו את המקביליות שאתם באמת משרתים.
שני שרתים עם אותו מספר מעבדים יכולים להחזיק תפוקה שונה מאוד, כי המספר שחשוב הוא כמה ליבות מסלול הנתונים הפעיל יכול באמת לנצל. דמון יחיד במרחב המשתמש שמעבד את החבילות של לקוח אחד מוגבל לליבה אחת, ואילו מסלול גרעין שנפרק יכול לפזר את העבודה הזו. אף אחת מהקביעות לא אומרת מה מכונה מסוימת תעשה לתעבורה שלכם, ולכן המדידה באה לפני ספירת הליבות.
ההשוואה שלהלן עוסקת במקום שבו החבילות מעובדות, ולא בשאלה איזה מוצר מהיר יותר באופן מופשט. אלו שאלות שונות עם תשובות שונות.
ליבה אחת לכל זרימה במסלול מרחב המשתמש
במופע Community OpenVPN מסורתי ערוץ הנתונים מעובד במרחב המשתמש, וחיבור עמוס יכול להחזיק מעבד אחד בעוד הניצולת הכוללת של המכונה נשארת בלתי מורגשת. לכן הוספת ליבות למארח שכבר רווי בזרימה אחת לא משנה דבר: למתזמן אין דרך לחלק את העבודה הזו. מבנה של תהליך אחד לכל לקוח מגביל את ההעברה של לקוח אחד ליכולת של ליבה אחת, יהיה מספר הליבות הכולל אשר יהיה. קראו ניצולת לכל ליבה במהלך בדיקה ולא את המספר הכולל, אחרת הצוואר ייראה כמו מרווח פנוי.
הרצת כמה מופעי שרת על מארח אחד מפזרת לקוחות נפרדים בין תהליכים. היא לא מקבילה חיבור קיים, והיא עולה במאגרים, מאזינים והחלטות ניתוב נפרדים.
המסלול האחר: חבילות בגרעין
פריקת ערוץ הנתונים מעבירה עיבוד חבילות נתמך והצפנה לתוך הגרעין, שם העבודה יכולה להשתמש בכמה ליבות. זה משנה את שאלת הקיבולת מליבה אחת למכונה, אבל רק לתצורות שהמימוש תומך בהן: מודול גרעין תואם, צופן נתונים מתאים ותצורה בלי התכונות שהפריקה מוציאה מהכלל. התקנת מודול אינה אותו דבר כמו שימוש בו, לכן אשרו את המצב הפעיל מתוך היומן של החיבור עצמו או מפלט המצב. באנר גרסה מוכיח מה זמין, לא מה רץ.
הפריקה לא מסירה אימות או את ערוץ הבקרה, והיא לא הופכת כל פריסה לרב-ליבתית. זו האצה מקומית של מסלול נתונים תואם, והדרישות משתנות לפי פלטפורמה וגרסה.
מה ההשוואה באמת מכריעה
הבחירה האמיתית היא בין קבלת תקרה לכל זרימה, פיזור לקוחות בין מופעים, ומעבר לתצורת פריקה נתמכת. כל אחת פותרת בעיה אחרת, ובחירה בשגויה עולה כסף בלי להזיז את המספר. הבדיקה החשובה היא זו שמעוצבת כמו האופן שבו משתמשים בשירות.
מדדו שלוש צורות: לקוח אחד עם העברה אחת, לקוח אחד עם כמה זרימות, וכמה לקוחות יחד. סכום גבוה בצורה השלישית לא מוכיח שהורדה אחת יכולה להגיע אליו, והעברה בודדת איטית לא מוכיחה שהשרת ניצל את כל הקיבולת שלו. התוצאות עונות על שאלות שונות ושתיהן שוות.
רק הצורה האמצעית אומרת לכם אם מקביליות בתוך לקוח אחד עוזרת, וזו בדרך כלל תכונה של התעבורה והמסלול ולא של השרת. רק הראשונה אומרת את התקרה שאפליקציה אחת תראה. שמרו על עומס זהה בין ריצות כדי שההשוואה תאמר משהו.
למדוד כך שלמספר תהיה משמעות
רשמו את גרסאות השרת והלקוח, את מסלול הנתונים הפעיל, את צופן הנתונים שנקבע, את כיוון ההעברה, את גדלי החבילות, את מספר הזרימות ואת משך הזמן. עקבו אחר פעילות לכל ליבה ואחר אובדן חבילות ותורים בשני הקצוות, כי הממשק של הלקוח עצמו, רשת הספק או שירות היעד יכולים להפוך לגבול ראשונים. שנו משתנה אחד בכל פעם, כי ריצה שמשנה צופן, דחיסה, MTU ופריקה יחד לא יכולה לומר לכם מה היה חשוב. שמרו במהלך הבדיקה על מדיניות הגישה שאתם באמת מתכוונים לפרוס, כי סידור מעבדה שאיש לא יריץ מוכיח מעט.
לאחר מכן השאירו מרווח לערוץ הבקרה, למשא ומתן מחדש ולכל השאר שרץ על המארח.
דווחו מה התצורה החזיקה תחת המקביליות המיועדת, ולא קצב שהוסק מחומרה של אחר. מספר עם תנאי הבדיקה שלו מצורף הוא שימושי; הבטחה בלעדיהם היא ניחוש שיצטטו לכם בחזרה.