במאמר הבא אנו נסתכל כיצד אנו יכולים למדוד את זמן התגובה של אתר מהטרמינל באמצעות cURL. זה מעניין לדעת, שכן זה יכול להשפיע מאוד על חוויית המשתמש.
בין אם אתה מפתח אתרים ובין אם אתה מנהל שרת, תדע זאת מְהִירוּת זה משהו שתמיד צריך להיות מוכן. חשוב שהכל יעבוד כמו שצריך כדי שהמשתמשים לא ירגישו מתוסכלים בזמן הגישה לאתר שלך.
בשלב הבא אנו הולכים לראות כמה פקודות כדי להיות מסוגלים למדוד את זמן התגובה של אתר. איתם נוכל בדוק את השעה בשניות של שדות שונים בדפי http ו- https. אנו נעשה הכל משורת הפקודה של אובונטו באמצעות cURL,
השתמש ב- CURL כדי למדוד את מהירות הטעינה
מאתרים עם HTTP
ל- CURL אפשרויות רבות זמינות, ביניהן אנו יכולים למצוא -w, אשר יהיה שימושי עבור להדפיס מידע לפלט רגיל לאחר פעולה שהושלמה. זה גם מציע לנו כמה משתנים שנוכל להשתמש בהם לבדיקת זמני התגובה השונים של אתר.
כדי להשיג מדידה זו, נשתמש בכמה מהמשתנים שניתן למצוא ב- תיעוד רשמי של CURL. אלה יכולים להיות מועברים בפורמט נתון כמחרוזת מילולית או בתוך קובץ.
המשתנים בהם נשתמש יהיו הבאים:
- זמן_שם חיפוש → זמן בשניות. תפוס מראשיתו ועד השלמת רזולוציית השמות.
- זמן_חיבור → זמן בשניות. החל מההפעלה ועד לסיום חיבור TCP למארח מרוחק או פרוקסי.
- העברת זמן → הזמן בשניות שלקח מההתחלה ועד העברת הקבצים עמדה להתחיל. זה כולל את כל הפקודות והמשא ומתן לפני ההעברה הספציפיים לפרוטוקולים המעורבים.
- העברת זמן → הזמן בשניות שלקח מההתחלה ועד שבית הראשון עמד להעביר. זה כולל העברת זמן_פריט וגם הזמן שלקח לשרת לחשב את התוצאה.
- זמן_סך הכל → הזמן הכולל בשניות שכל הפעולה נמשכה. זה נפתר באלפיות השנייה.
כדי בצע את הפקודה שאנו הולכים לעלות עם המשתנים הקודמיםנצטרך לפתוח רק מסוף (Ctrl + Alt + T) ולכתוב:
curl -s -w '\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null http://www.google.com
מכיוון שזה יכול להיות קצת מסורבל לכתוב אותו בטרמינל בכל פעם שאנחנו רוצים להשתמש בו, אנחנו יכולים לבחור לכתוב אותו לקובץ.
בתוך התיק, שאעבור לו את השם control-speed-web.txt, עליך להדביק את הקוד הבא:
\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n
לאחר שנשמר וחזרנו למסוף, אנחנו יכולים השתמש בקובץ זה על ידי הקלדת התחביר הבא:
curl -s -w "@control-velocidad-web.txt" -o /dev/null http://www.google.com
הפקודה לעיל תפעל מצב שקט הודות ל- s. עם -הדפיס את המידע פנימה stdout. עבור להפנות את הפלט אל / dev / null בואו נשתמש ב- o.
מאתרים עם HTTPS
אם אנו מעוניינים להשתמש בבדיקה זו עבור אתרי HTTPS, אנו יכולים לבצע את הפקודה במסוף (Ctrl + Alt + T):
curl -s -w '\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nAppConnect Time:\t\t%{time_appconnect}\nRedirect Time:\t\t%{time_redirect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n' -o /dev/null https://ubunlog.com
בפורמט זה משתמשים במשתני זמן נוספים בנוסף לאמור לעיל. ואלה:
- time_appconnect → הזמן בשניות שלקח מההתחלה ועד שהושלם חיבור SSL / SSH / וכו 'למארח המרוחק.
- הפניית זמן → זמן בשניות, שנמשך כל שלבי ההפניה לפני תחילת העסקה הסופית. חשב את זמן הביצוע הכולל עבור מספר הפניות מחדש.
כמו במקרה הקודם, ניתן לכתוב אותו גם לקובץ. כמו במקרה הקודם אעשה זאת llamar control-speed-web.txt, ובתוכך תצטרך להדביק:
\nTiempo de respuesta para: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nAppConnect Time:\t\t%{time_appconnect}\nRedirect Time:\t\t%{time_redirect}\nPre-transfer Time:\t%{time_pretransfer}\nStart-transfer Time:\t%{time_starttransfer}\n\nTotal Time:\t\t%{time_total}\n
שמרנו את הקובץ וחזרנו למסוף, אנחנו יכולים השתמש בו עם תחביר:
curl -s -w "@control-velocidad-web.txt" -o /dev/null https://ubunlog.com
לקבלת מידע נוסף, תוכל התייעץ עם תיעוד cUrl או את דף האיש:
man curl
קומו ערכי זמן התגובה ישתנו עקב גורמים שונים, מומלץ לבצע בדיקות שונות ולקבוע מהירות ממוצעת. משהו שאנחנו גם הולכים לראות הוא שגישה לאתר דרך HTTP היא בדרך כלל הרבה יותר מהירה מאשר לעשות זאת באמצעות HTTPS.