Benchmark של אפאצ'י + GNUPlot: מדוד וביצע גרף של הביצועים של שרת האינטרנט שלך

לא משנה אם משתמשים בו nginx, אַפָּשׁ, Lighttpd או אחרת, כל מנהל רשת שיש לו שרת אינטרנט ירצה בשלב כלשהו לדעת כמה מהר שרת האינטרנט מגיב למספר נתון של שאילתות.

שירותים מנוהלים-ניהול שרתים-e1368625038693

מדד אפאצ'י + GNUPlot

הפעם נשתמש בכלי שנקרא אמת מידה של אפאצ'י, שלמרות שיש לו 'אפאצ'י' בשמו, הוא לא מיועד רק למדידת ביצועי אפאצ'י, אלא יכול לשמש גם עבור Nginx ואחרים. למעשה, אשתמש בו כדי למדוד את הביצועים של nginx.

אנו גם נשתמש GNUPlot, שיעזור לנו ליצור גרפים כאלה בכמה שורות:

תוצאות

התקנת Benchmark של Apache ו- GNUPlot

Benchmark של אפאצ'י הוא כלי שנוכל להשתמש בו לאחר התקנת חבילת אפאצ'י, GNUPlot יהיה זמין לאחר התקנת החבילה באותו שם. ואז ...

בהפצות כמו דביאן, אובונטו או דומה:

sudo apt-get install apache2 gnuplot

בהפצות כמו ArchLinux או נגזרות:

sudo pacman -S apache gnuplot

עלינו להתקין רק את חבילת אפאצ'י, איננו צריכים להפעיל אותה או להגדיר שום דבר אחר, רק התקנתה תספיק.

באמצעות מדד אפאצ'י

מה שאנחנו נעשה זה לשלוח מספר ספציפי של בקשות (100) בקבוצות של מספר (בין 20 ל -20) לאתר ספציפי. נשמור את התוצאה בקובץ .csv (result.csv) ואז נעבד אותה עם GNUPloit, השורה תהיה:

ab -g resultados.csv -n 100 -c 20 http://nuestro-sitio-web.com/

חשוב מאוד להכניס את הסופי / בכתובת האתר של האתר למדידה.

זה הפלט או היומן שמראים לי כשאני בודק אתר ברשת שלי:

זו ApacheBench, גרסה 2.3 <$ עדכון: 1638069 $> זכויות יוצרים 1996 אדם טוויס, Zeus Technology Ltd, http://www.zeustech.net/ מורשה לקרן Apache Software Foundation, http://www.apache.org/ Benchmarking gutl.jovenclub.cu (היה סבלני) ..... נעשה

תוכנת שרת: nginx שם מארח שרת: gutl.jovenclub.cu יציאת שרת: 80

נתיב מסמך: /
אורך המסמך: 206 בתים רמת המקבילות: 20 זמן הבדיקה שנדרש: 0.101 שניות בקשות מלאות: 100 בקשות נכשלות: 27 (התחברות: 0, קבלה: 0, אורך: 27, חריגים: 0) תגובות שאינן 2xx: 73 1310933 בתים HTML הועבר: 1288952 בתים
בקשות לשנייה: 993.24 [# / sec] (ממוצע)
זמן לבקשה: 20.136 [ms] (ממוצע) זמן לבקשה: 1.007 [ms] (ממוצע, בכל הבקשות במקביל) קצב העברה: 12715.49 [Kbytes / sec] קיבל זמני חיבור (ms) דקות ממוצעות [+/- sd] חציון מקסימום התחבר: 0 1 0.2 1 1 עיבוד: 1 17 24.8 4 86 המתנה: 1 15 21.5 4 76 סה"כ: 1 18 24.8 5 87 אחוז הבקשות שהוגשו תוך זמן מסוים (ms) 50% 5 66% 6 75% 22 80% 41 90% 62 95% 80 98% 87 99% 87
100% 87 (בקשה ארוכה ביותר)

סימנתי באדום את מה שאני מחשיב כדבר החשוב ביותר שהיה פחות או יותר:

  1. נתוני השרת שאנו בודקים, כמו גם כתובת ה- URL המדוברת.
  2. מספר בקשות לשנייה.
  3. כמה אלפיות שנייה לקח השרת בכדי לטפל בבקשה שנמשכה הכי הרבה זמן, כלומר זו שלקחה הכי הרבה זמן שנענה.

בעזרת מידע זה הם יכולים לקבל מושג כמה זמן ייקח לשרת להשתתף בכמות הבקשות ההיא, ואז הם יכולים להוסיף מערכת מטמון טובה יותר, להשבית מודולים שאינם משתמשים בהם וכו 'וכו', להפעיל מחדש את הבדיקה ו לראות אם הביצועים השתפרו או לא.

אני ממליץ להריץ את המבחן פעמיים או שלוש, כך שתיצור משהו כמו שוליים, מכיוון שהתוצאות של שני מבחנים ברציפות זהות לעיתים רחוקות.

אפשרויות או פרמטרים יעילים אחרים של אפאצ'י:

-k -H 'קבל קידוד: gzip, ניפוח' : עם ab זה יקבל את המטמון והדחיסה שהגדיר השרת, כך שהזמנים יהיו נמוכים יותר.

-f urls.txt : אז במקום רק לבדוק את אינדקס האתר, הוא יבצע בדיקות בכתובות האתרים שאנו מציינים באותו קובץ.

בכל מקרה ... תסתכל על גבר אב שתראו.

הראה את התוצאה בגרף:

לשים את הפלט הזה בתמונה, כלומר במדיום חזותי יותר ופעמים רבות, זה כל מה שמנהלים מצליחים להבין ... בשביל זה נשתמש כפי שאמרתי קודם, GNUPlot

באותה תיקיה שבה יש לנו את תוצאות הקובץ.csv (זכור, פשוט יצרנו באמצעות הפקודה הנ"ל) אנו הולכים ליצור קובץ בשם gnuplot.p:

nano plot.p

בו נניח את הדברים הבאים:

הגדר גודל png מסוף 600 סט פלט "results.png"הגדר כותרת"100 בקשות, 20 בקשות במקביל "הגדר יחס גודל 0.6 הגדר רשת והגדר תווית x"בקשות"set ylabel"זמן תגובה (ms)"עלילה"results.csv"שימוש ב- 9 סגולים חלקים עם כותרת שורות"gutl.jovenclub.cu"

סימנתי באדום מה תמיד צריך לבדוק. כלומר ומלמעלה למטה:

  1. שם קובץ התמונה שייווצר
  2. מספר הבקשות הכוללות ובמקביל.
  3. שם הקובץ שיצרנו זה עתה.
  4. דומיין שאנחנו עובדים עליו.

ברגע ששמנו את זה, אנו שומרים ויוצאים (Ctrl + O ואז Ctrl + X), נבצע את הפעולות הבאות:

gnuplot plot.p

וואלה, שייצור את הגרף עם השם הרצוי, שלי הוא:

תוצאות 2

הסוף!

ל- Benchmark של אפאצ'י יש הרבה יותר אפשרויות, ישנם גם שילובים רבים שבהם נוכל להשתמש כדי להפוך את מבחן הביצועים שלנו למלא עוד יותר.

אבל היי, זה היה היסודות 😉

תהנו!


השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם. שדות חובה מסומנים *

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   פרנסיסקו דיג'ו

    אמת מידה מעניינת של אפאצ'י, לא ידעתי על gnuplot, האם ניתן לשנות את סגנון הפלט? אני אומר לגבי דו"ח רשמי.

    ברכות מצ'ילה.

    1.    KZKG ^ גאארה דיג'ו

      כן, יש הרבה תצורות ברשת עבור gnuplot, חפשו על ידי גוגל אם אתם מוצאים מספיק רציני או מקצועי בכדי שתוכלו להשתמש בו, כי זה הטעם של כולם 🙂

  2.   Wolf119 דיג'ו

    אממ אני אבדוק את זה עכשיו בשרת אפאצ'י וירטואלי שאני מפעיל כדי לראות איך זה הולך, ביחס ל- GUTL, מכיוון שהוא יורה מהר מאוד מ -80 בקשות, נכון? בוא נראה ש 100 ms לא הם שום דבר, אבל השיא שנותן 10 בקשות נוספות לעומת 70 עד 80 עם 80 עד 90 מושך את תשומת ליבי

    1.    KZKG ^ גאארה דיג'ו

      זה חייב להיות בגלל התור או מספר האשכולות המרבי שישתתפו בו זמנית. עם זאת, עשיתי את הבדיקה ללא gzip, ללא ניפוח, ללא מטמון או כל דבר 😉

  3.   צ'רלי בראון דיג'ו

    מעניין מאוד, במיוחד לשימוש ב- GNUPlot. ממה שאני רואה ניתן להשתמש בו כדי ליצור גרפים כמעט מכל מערך נתונים, נכון? ...

    1.    KZKG ^ גאארה דיג'ו

      כן כמובן, אתה מעביר את הנתונים בקובץ המופרד בפסיקים או משהו כזה, אתה אומר לו כיצד לעבד אותם בקובץ התצורה, וזהו

  4.   אדולפו דיג'ו

    שלום, אני תמיד מקדיש זמן לקריאת הבלוג הזה אבל מעולם לא הגבתי על אף מאמר, וזו נראית הזדמנות טובה.
    מה שאני רוצה לחלוק איתך הוא שניתן לפרש שגוי מסוג זה של גרף, מכיוון שאפצ'י ספסל ממיין את התוצאה באמצעות זמן זמן (זמן כולל) במקום זמן רציף. למרות שהנתונים עדיין נכונים, הגרף כנראה לא מראה מה אנחנו רוצים.
    הנה הקישור שבו קראתי אותו.
    http://www.bradlanders.com/2013/04/15/apache-bench-and-gnuplot-youre-probably-doing-it-wrong/

    ברכות.

  5.   הוגו דיג'ו

    Benchmark של אפאצ'י אינו הכלי הטוב ביותר למדוד את הביצועים של שרתי HTTP במחשבים עם מספר ליבות, בנוסף, רק 100 בקשות עם 20 חיבורים מקבילים הם מבחן חלש מאוד, משהו מציאותי יותר יהיה 1,000 או 10,000 בקשות עם 100 חיבורים מקבילים ( ידוע כי Nginx הוא אחד היישומים המסוגלים לשרת יותר מ -10,000 בקשות לשנייה) ולשם כך עדיף להשתמש בכלי כגון weightttp, אשר מיועד למחשבים מרובי ליבות ומשתמש באפול מהיר יותר, בשונה ספסל אפאצ'י שמשתמש בשרשור בודד ובמנגנון טיפול אירועים פחות יעיל.

    כדי לנחות את הנקודה שלי, בהנחה שהשרת כולל 4 ליבות בלבד:

    שוקל -n 10000 -c 100 -t 4 -k "http://our-web-site.com/"

  6.   אמון דיג'ו

    שלום לכולם,
    כאשר אתה מצייר את הגרף (מתוך ה- CSV) עם gnuplot זה נותן לי את השגיאה הבאה, אתה יכול להגיד לי איך לפתור את זה?

    "Plot.p", שורה 8: אזהרה: דילוג על קובץ נתונים ללא נקודות תקפות

    העלילה «graph.csv» תוך שימוש ב- 9 sbezier חלקים עם כותרת השורות «AB - localhost / web»
    ^
    "Plot.p", שורה 8: טווח x אינו חוקי

    האם בעזרת gnuplot אוכל ליצור דפי HTML?