Проверяем Время Ответа Сайта из Командной строки Linux

Суммарное время ответа сайта

Исполь­зуй­те сле­ду­ю­щую коман­ду, что­бы узнать ско­рость отве­та сай­та, в секундах.

Thank you for reading this post, don't forget to subscribe! 


$ curl -s -w %{time_total}\\n -o /dev/null http://www.shellhacks.com
При­мер выпол­нен­ной команды :

Крат­кое опи­са­ние опций :

Опции Опи­са­ние
-s Тихий режим. Не пока­зы­вать инди­ка­то­ра выпол­не­ния или сооб­ще­ний об ошибках
-w Опре­де­ля­ет, что отоб­ра­жа­ет­ся на стан­дарт­ный вывод после завер­шен­ной и успеш­ной операции
-o Пере­на­прав­ля­ет вывод в '/dev/null'
time_total Сум­мар­ное вре­мя, кото­рое заня­ла опе­ра­ция, в секундах

Подробный отчет о времени отклика сайта

Сле­ду­ю­щая коман­да воз­вра­ща­ет нам lookup, connect, pretransfer, starttransferвре­мя в секун­дах, а так же сум­мар­ное вре­мя кото­рое ушло на операцию.
$ curl -s -w '\nLookup time:\t%{time_namelookup}\nConnect time:\t%{time_connect}\nPreXfer time:\t%{time_pretransfer}\nStartXfer time:\t%{time_starttransfer}\n\nTotal time:\t%{time_total}\n' -o /dev/null http://www.shellhacks.com

При­мер выпол­не­ния команды :

Крат­кое опи­са­ние опций :

Опции Опи­са­ние
Lookup time (time_namelookup) Вре­мя, в секун­дах, затра­чен­ное на пре­об­ра­зо­ва­ние домен­но­го име­ни в IP адрес
Connect time (time_connect) Вре­мя, в секун­дах, затра­чен­ное на под­клю­че­ние к уда­лен­но­му сер­ве­ру по TCP
PreXfer time (time_pretransfer) Вре­мя, в секун­дах, затра­чен­ное на под­го­тов­ку к обме­ну дан­ны­ми. Оно вклю­ча­ет в себя вре­мя на 'обмен руко­по­жа­ти­я­ми' участ­ни­ков кон­крет­но­го протокола.
StartXfer time (time_starttransfer) Вре­мя, в секун­дах, затра­чен­ное на все дей­ствия, вплоть до нача­ла пере­да­чи пер­во­го бай­та дан­ных. Оно вклю­ча­ет в себя 'time_pretransfer', а так же вре­мя, необ­хо­ди­мое сер­ве­ру на под­счет результатов.

Более подробный отчет о времени отклика сайта

Сле­ду­ю­щая коман­да добав­ля­ет дан­ные о вре­ме­ни, затра­чен­ном на appconnect и redirect. Эти опции рабо­та­ют толь­ко в послед­них вер­си­ях CURL.

$ curl -s -w '\nLookup time:\t%{time_namelookup}\nConnect time:\t%{time_connect}\nAppCon time:\t%{time_appconnect}\nRedirect time:\t%{time_redirect}\nPreXfer time:\t%{time_pretransfer}\nStartXfer time:\t%{time_starttransfer}\n\nTotal time:\t%{time_total}\n' -o /dev/null http://www.shellhacks.com

При­мер выпол­нен­ной команды :

Крат­кое опи­са­ние опций :

Опции Опи­са­ние
AppCon time (time_appconnect) Вре­мя, в секун­дах, с нача­ла заме­ра, до завер­ше­ния соединения/рукопожатия по про­то­ко­лу SSL/SSH и пр. с уда­лен­ным хостом (Добав­ле­но в 7.19.0)
Redirect time (time_redirect) Вре­мя, в секун­дах, затра­чен­ное на реди­рек­ты, вклю­чая name lookup, connect, pretransfer и transfer. 'time_redirect' пока­зы­ва­ет сум­мар­ное вре­мя всех реди­рек­тов. (Добав­ле­но в 7.12.3)

Исполь­зуй­те --version, что­бы узнать вер­сию CURL.
$ curl --version

Время Отклика : 3 Важных Лимита

Неболь­шая замет­ка для информации.

  • 0.1 сек. - это вре­мя, за кото­рое поль­зо­ва­тель ощу­тит что систе­ма реа­ги­ру­ет мгно­вен­но, а это озна­ча­ет что ника­кой обрат­ной свя­зи, за исклю­че­ни­ем отоб­ра­же­ния резуль­та­та, не требуется;
  • 1.0 сек. - это вре­мя, в тече­нии кото­ро­го поток мыс­лей поль­зо­ва­те­ля оста­ет­ся непре­рыв­ным, даже если он и заме­тит задерж­ку. Как пра­ви­ло, ника­кой обрат­ной свя­зи не тре­бу­ет­ся во вре­мя задерж­ки более 0.1 но менее 1.0 секун­ды, одна­ко поль­зо­ва­тель теря­ет ощу­ще­ние непо­сред­ствен­ной рабо­ты с данными;
  • 10 сек. - это прак­ти­че­ски пре­дел удер­жи­ва­ния вни­ма­ния поль­зо­ва­те­ля на диа­ло­ге. Во вре­мя более дли­тель­ных задер­жек, у поль­зо­ва­те­ля воз­ник­нет жела­ние занять­ся дру­ги­ми веща­ми, пока загруз­ка стра­ни­цы не закон­чит­ся. Поэто­му воз­ни­ка­ет необ­хо­ди­мость в орга­ни­за­ции обрат­ной свя­зи, кото­рая будет пока­зы­вать что все в поряд­ке и опе­ра­ция выпол­ня­ет­ся. Обрат­ная связь осо­бен­но важ­на если вре­мя задерж­ки варьи­ру­ет, так как поль­зо­ва­тель не будет знать чего ожидать.