یکی از مسائلی که میتواند به شما بعنوان یک مدیر سرور یا طراح سایت و یا حتی بازدیدکننده یک سایت حس خوبی نسبت به آن بدهد مانیتور و اطلاع حاصل کردن از سرعت آن وب سایت است. امروز میخواهیم در این آموزش به شما نشان دهیم که چگونه با استفاده از دستور curl سرعت وب سایت مورد نظر خود را ارزیابی کنید.
همچنین بخوانید:
مانیتور سرعت وب سایت با استفاده از curl
در این آموزش شما خواهید آموخت که چگونه سرعت وب سایت خود را در لینوکس و با استفاده از دستور curl مورد بررسی و مانیتور قرار دهید. Curl یک دستور بسیار پرکاربرد در لینوکس است که با پروتکل های تحت وب مانند HTTP، HTTPS و… سرو کار دارد.
یکی از سوئیچ هایی که میتوانید با دستور curl مورد استفاده قرار دهید w- (حرف کوچک) است. شما میتوانید با استفاده از این قابلیت به curl بگویید که بعد از اجرا شدن به صورت کامل چه چیزی را در ترمینال برای شما چاپ کند.
برای استفاده از curl جهت مانیتور وب سایت خود باید ابتدا آن را بر روی ماشین خود نصب کنید:
1 |
root@arshatech:~# apt install curl |
1 |
[root@arshatech ~]# yum install curl |
1 |
[root@arshatech ~]# dnf install curl |
ما در این آموزش در کنار دستور curl از برخی توابع وابسته به زمان نیز برای نمایش خروجی استفاده کنیم. به همین منظور ترمینال خود را باز کرده و دستور زیر را وارد کنید: (تست بر روی سایت گوگل انجام شده است و شما میتوانید آن را تغییر دهید)
1 |
root@arshatech:~# curl -s -w 'Testing Website Response Time for: %{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 |
1 2 3 4 5 6 7 8 |
Testing Website Response Time for: http://www.google.com/ Lookup Time: 0.061 Connect Time: 0.197 Pre-transfer Time: 0.198 Start-transfer Time: 0.404 Total Time: 0.438 |
خروجی های دریافت شده بعد از اجرای دستور فوق به صورت زیر میباشند: (زمان های محاسبه شده همه بر حسب ثانیه می باشند)
- Lookup Time: از آغاز تا زمان resolve شدن نام را محاسبه میکند.
- Connect Time: از آغاز تا زمان برقراری اتصال TCP به مقصد را محاسبه میکند.
- Pre-transfer Time: از آغاز تا زمان شروع انتقال فایل را محاسبه میکند.
- Start-transfer Time: از آغاز تا هنگام ارسال اولین بایت را محاسبه میکند.
- Total Time: از آغاز تا انتهای عملیات را محاسبه میکند.
سوئیچ های مورد استفاده با curl نیز عبارتند از:
- s-: حالت سایلنت را فعال میکند.
- w-: برای نمایش متن هنگام پایان عملیات مورد استفاده قرار میگیرد.
- o-: برای ریدایرکت کردن خروجی مورد استفاده قرار میگیرد. در این مثال خروجی که مورد نیاز نیست به null متنقل میشود.
شما میتوانید دستور بالا را برای بررسی سایت ها روی پروتکل HTTPS نیز بکار ببرید. در مثال زیر سایت گوگل به صورت https://google.com مورد ارزیابی قرار میگیرد:
1 |
root@arshatech:~# curl -s -w 'Testing Website Response Time for: %{url_effective}\n\nLookup Time:\t\t%{time_namelookup}\nConnect Time:\t\t%{time_connect}\nAppCon 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://www.google.com |
1 2 3 4 5 6 7 8 9 10 |
Testing Website Response Time for: https://www.google.com/ Lookup Time: 0.061 Connect Time: 0.201 AppCon Time: 0.516 Redirect Time: 0.000 Pre-transfer Time: 0.516 Start-transfer Time: 0.735 Total Time: 0.771 |
در مثال بالا پارامترهای زیر افزوده شده اند:
- AppCon Time: از آغاز تا پایان عملیات handshaking برای SSL را محاسبه میکند.
- Redirect Time: زمان کامل شدن تمام ریدایرکت های لازم مانند name lookup، زمان اتصال و … را مشخص میکند.
نکات قابل تامل:
- شما در تست های بالا خواهید دید که زمان های نمایش داده شده برای وب سایت های مختلف متفاوت خواهد بود.
- همچنین شما به تفاوت قابل توجه هنگام بررسی سایت ها با HTTP و HTTPS پی خواهید برد و خواهید دید که وب سایت ها با پروتکل HTTP بسیار سریع تر هستند.