כיצד לבצע ביצועים בשרת ביצועים בשרת?

האם אתה מכיר את זמן התגובה הממוצע באתר שלך? האם אתה יודע כמה משתמשים בו זמנית האתר שלך יכול להתמודד?


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

Benchmarking יכול לעזור לך להחליט;

  • איזה שרת אינטרנט עובד הכי טוב
  • מספר השרתים שאתה צריך כדי לשרת x מספר בקשות
  • איזו תצורה נותנת לך את התוצאות הטובות ביותר

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

השתמשתי באפצ’י & שרת האינטרנט של Nginx מתארח בתאריך DigitalOcean לבדוק את זה.

ApacheBench

ApacheBench (ab) היא תוכנית שורת פקודה בקוד פתוח העובדת עם כל שרת אינטרנט. בפוסט זה אסביר כיצד להתקין את התוכנה הקטנה הזו ולבצע את בדיקת העומס בכדי לאזן את התוצאות.

אפאצ’י

בואו להתקין את ApacheBench באמצעות פקודת yum.

יאם התקן כלי httpd

אם יש לך כבר כלי httpd, אתה עלול להתעלם מכך.

כעת, נראה כיצד זה מתפקד עבור 5000 בקשות במקביל ל- 500.

[[מוגן בדוא”ל] ~] # ab -n 5000 -c 500 http: // localhost: 80 /
זהו ApacheBench, גרסה 2.3 <עדכון $ 655654 $>
זכויות יוצרים 1996 אדם טוויס, זאוס טכנולוגיה בע”מ, http://www.zeustech.net/
מורשה לקרן תוכנת אפאצ’י, http://www.apache.org/
מדד localhost (היה סבלני)
500 בקשות הושלמו
1000 בקשות הושלמו
1500 בקשות הושלמו
2000 בקשות הושלמו
2500 בקשות הושלמו
3000 בקשות הושלמו
הושלמו 3500 בקשות
השלמת 4000 בקשות
הושלמו 4500 בקשות
הושלמו 5000 בקשות
סיימו 5000 בקשות
תוכנת שרת: Apache / 2.2.15
שם מארח שרת: localhost
יציאת שרת: 80
נתיב מסמך: /
אורך המסמך: 4961 בתים
רמת סיכוי: 500
זמן שנדרש לבדיקות: 13.389 שניות
בקשות מלאות: 5000
בקשות שנכשלו: 0
שגיאות כתיבה: 0
תגובות ללא 2xx: 5058
סה”כ שהועבר: 26094222 בתים
העברת HTML: 25092738 בתים
בקשות לשנייה: 373.45 [# / sec] (ממוצע)
זמן לבקשה: 1338.866 [ms] (ממוצע)
זמן לבקשה: 2.678 [ms] (ממוצע, בכל הבקשות במקביל)
שיעור העברה: 1903.30 [קיבולת / שניה] שהתקבלו
זמני חיבור (ms)
הממוצע הממוצע [+/- sd] חציון מקסימאלי
התחבר: 0 42 20.8 41 1000
עיבוד: 0 428 2116.5 65 13310
המתנה: 0 416 2117.7 55 13303
סה”כ: 51 470 2121.0 102 13378
אחוז הבקשות שהוגשו תוך פרק זמן מסוים (ms)
50% 102
66% 117
75% 130
80% 132
90% 149
95% 255
98% 13377
99% 13378
100% 13378 (הבקשה הארוכה ביותר)
[[מוגן בדוא”ל] ~] #

אז כפי שאתה יכול לראות, אפאצ’י טיפל 373 בקשות לשנייה, ולקח סך של 13.389 שניות כדי להגיש את כל הבקשות.

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

נגינקס

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

[[מוגן בדוא”ל] ~] # ab -n 5000 -c 500 http: // localhost: 80 /
זהו ApacheBench, גרסה 2.3 <עדכון $ 655654 $>
זכויות יוצרים 1996 אדם טוויס, זאוס טכנולוגיה בע”מ, http://www.zeustech.net/
מורשה לקרן תוכנת אפאצ’י, http://www.apache.org/
מדד localhost (היה סבלני)
500 בקשות הושלמו
1000 בקשות הושלמו
1500 בקשות הושלמו
2000 בקשות הושלמו
2500 בקשות הושלמו
3000 בקשות הושלמו
הושלמו 3500 בקשות
השלמת 4000 בקשות
הושלמו 4500 בקשות
הושלמו 5000 בקשות
סיימו 5000 בקשות
תוכנת שרת: nginx / 1.10.1
שם מארח שרת: localhost
יציאת שרת: 80
נתיב מסמך: /
אורך המסמך: 3698 בתים
רמת סיכוי: 500
זמן שנדרש לבדיקות: 0.758 שניות
בקשות מלאות: 5000
בקשות שנכשלו: 0
שגיאות כתיבה: 0
סך הכל הועבר: 19660000 בתים
העברת HTML: 18490000 בתים
בקשות לשנייה: 6593.48 [# / sec] (ממוצע)
זמן לבקשה: 75.832 [ms] (ממוצע)
זמן לבקשה: 0.152 [ms] (ממוצע, בכל הבקשות במקביל)
שיעור העברה: 25317.93 [קיבולת / שניה] שהתקבלו
זמני חיבור (ms)
הממוצע הממוצע [+/- sd] חציון מקסימאלי
התחבר: 0 6 11.0 2 53
עיבוד: 5 19 8.2 17 53
ממתינה: 0 18 8.2 16 47
סה”כ: 10 25 17.4 18 79
אחוז הבקשות שהוגשו תוך פרק זמן מסוים (ms)
50% 18
66% 21
75% 21
80% 22
90% 69
95% 73
98% 75
99% 76
00% 79 (הבקשה הארוכה ביותר)
[[מוגן בדוא”ל] ~] #

וואו! ראית את זה? נגינקס טיפל 6593 בקשות לשנייה! מנצח.

אז אתה פשוט רואה השוואה עם שני שרתי אינטרנט תקבל מושג איזה מהם לבחור עבור יישום האינטרנט שלך.

הבדיקה למעלה נמצאת ב- CentOS 6.8, 64 ביט. אתה יכול לנסות שילובים שונים של מערכת הפעלה & גרסת שרת אינטרנט לקבלת התוצאות האופטימליות.

SIEGE

SIEGE הוא כלי בדיקת עומס HTTP הנתמך ב- UNIX. אתה יכול להכניס מספר כתובות URL לקובץ טקסט שכדי לטעון אותו. אתה יכול להתקין מצור באמצעות יאם.

# yum התקנת מצור

בואו להפעיל את המבחן עם 500 בקשות במקביל למשך 5 שניות.

[[מוגן בדוא”ל] ~] # מצור -q -t 5S -c 500 http: // localhost /
הרמת מצור השרת … סיימה.
עסקאות: 4323 צפיות
זמינות: 100.00%
זמן שחלף: 4.60 שניות
נתונים שהועברו: 15.25 מגה בייט
זמן תגובה: 0.04 שניות
שיעור העסקה: 939.78 טרנס / שנייה
תפוקה: 3.31 מגהבייט / שניה
במקביל: 37.97
עסקאות מוצלחות: 4323
עסקאות שנכשלו: 0
העסקה הארוכה ביותר: 1.04
העסקה הקצרה ביותר: 0.00
[[מוגן בדוא”ל] ~] #

לפרט את הפרמטרים.

-ש – להפעיל אותו בשקט (לא מציג פרטי בקשה)

-t – רוץ למשך 5 שניות

-ג – 500 בקשות במקביל

אז כפי שאתה יכול לראות, הזמינות היא 100% וזמן התגובה הוא 0.04 שניות. אתה יכול לצבוט את פרמטר בדיקת העומס על סמך המטרה שלך.

גובנץ ‘

גובנץ ‘ כתוב בשפה Go ובכלי בדיקת עומסים פשוטים כדי לאמת את הביצועים של שרת האינטרנט. זה תומך ביותר מ 20,000 משתמשים במקביל אשר ApacheBench אינו עושה.

אפאצ’י ג’מטר

JMeter הוא אחד מכלי הקוד הפתוח הפופולריים ביותר למדידת ביצועי יישומי אינטרנט. JMeter הוא יישום מבוסס ג’אווה ולא רק שרת אינטרנט, אבל אתה יכול להשתמש בו נגד PHP, Java. ASP.net, SOAP, REST וכו ‘.

JMeter קיבל ממשק משתמש ידידותי הגון, והגרסה האחרונה 3.0 דורשת Java 7 ומעלה כדי להפעיל את היישום. עליך לנסות את JMeter אם המטרה שלך היא לייעל את ביצועי יישומי האינטרנט.

wrk

wrk הוא כלי מדידת ביצועים מודרני נוסף שמטען עומס על שרת האינטרנט שלך ומעניק לך חביון, בקשה לשנייה, העברה לשנייה וכו ‘..

באמצעות wrk, אתה יכול לציין לבצע בדיקת עומס עם מספר חוטים.

ניקח דוגמא לביצוע מבחן למשך 5 דקות עם 500 משתמשים במקביל עם 8 אשכולות.

wrk –t8 –c500 -d300s http: // localhost

HTTPLoad

Httpload יכול לקרוא את כתובות האתרים המרובות מהקובץ, או שתוכל לציין אותו בארגומנט הפקודה. הגרסא האחרונה תומכת ב- SSL / TLS שמשמעותה שאתה יכול לבצע שאילתות ב- URL של אתר אינטרנט המאפשר HTTPS (SSL).

בבדיקת ה- URL המאופשר SSL, יש לך אפשרות לציין את הצופן, ופקודת בדיקה פשוטה תיראה כך.

httpload – קידוד AES256-SHA – מקביל 200 – שניות 120 URL_LIST.txt

כדי להבין זאת טוב יותר, למעלה יפעל את הבדיקה מול 200 משתמשים במקביל למשך 2 דקות.

מטעין תלתלים

מטעין תלתלים כתוב ב- C כדי לדמות עומס יישומים, והוא תומך ב- SSL / TLS. יחד עם בדיקת דפי אינטרנט, באפשרותך גם להשתמש בכלי קוד פתוח זה כדי לבצע עומס על שרתי FTP.

אתה יכול ליצור תוכנית בדיקה עם שילוב של HTTP, HTTPS, FTP ו- FTPS בתצורת אצווה יחידה..

httperf

ה httperf הוא כלי בעל ביצועים גבוהים המתמקד במדד המיקרו והמאקרו. זה תומך בפרוטוקולי HTTP / 1.1 ו- SSL.

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

httperf – שרת localhost – פורט 80 – מספר חיבורי 1000 – שיעור 100

הפקודה לעיל תבדוק עם 100 בקשות בשנייה עבור 1000 בקשות HTTP.

צונג

צונג הוא כלי לבדיקת סטרס המופץ על-ידי פרוטוקול להדגיש שרת HTTP, SOAP, PostgreSQL, LDAP, XAMP, MySQL. זה תומך ב- HTTP / 1.0, HTTP / 1.1 ועוגיות מטופלות אוטומטית.

ניתן לייצר דוח עם Tsung.

סיכום

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

Jeffrey Wilson Administrator
Sorry! The Author has not filled his profile.
follow me
    Like this post? Please share to your friends:
    Adblock
    detector
    map