Перейти к содержимому

Как посмотреть время загрузки linux

  • автор:

Как проверить скорость загрузки сайта в терминале Linux

Время отклика веб-сайта может иметь большое влияние на взаимодействие с пользователем, и если вы являетесь веб-разработчиком или просто администратором сервера, который несет особую ответственность за организацию частей вместе, то вы должны сделать так, чтобы пользователи не чувствовали себя разочарованы при доступе к вашему сайту — так что действительно \необходима скорость.

Это руководство покажет вам, как проверить время отклика веб-сайта из командной строки Linux. Здесь мы покажем, как проверить время в секундах, это занимает:

  • для разрешения имен.
  • для TCP-подключения к серверу.
  • для начала передачи файла.
  • для передачи первого байта.
  • для всей операции.

Кроме того, для сайтов с поддержкой HTTPS мы также увидим, как проверить время в секундах, которое требуется: для завершения перенаправления и SSL-соединения/рукопожатия с сервером. Звучит неплохо, хорошо, давайте начнем.

cURL — это мощный инструмент командной строки для передачи данных с сервера или на сервер с использованием таких протоколов, как FILE, FTP, FTPS, HTTP, HTTPS и многих других. В большинстве случаев он используется как загрузчик командной строки или для проверки заголовков HTTP. Однако здесь мы опишем одну из его менее известных функций.

cURL имеет полезную опцию: -w для вывода информации на стандартный вывод после завершения операции. У него есть некоторые переменные, которые мы можем использовать для проверки различных значений времени отклика, перечисленных выше, для веб-сайта.

Мы будем использовать некоторые связанные со временем переменные, которые можно передавать в заданном формате в виде литеральной строки или внутри файла.

Итак, откройте свой терминал и выполните команду ниже:

$ curl -s -w 'Testing Website Response Time for :%\n\nLookup Time:\t\t%\nConnect Time:\t\t%\nPre-transfer Time:\t%\nStart-transfer Time:\t%\n\nTotal Time:\t\t%\n' -o /dev/null http://www.google.com

Переменные в приведенном выше формате:

  • time_namelookup — время в секундах, прошедшее от начала до завершения разрешения имени.
  • time_connect — время в секундах, прошедшее от начала до завершения TCP-подключения к удаленному хосту (или прокси-серверу).
  • time_pretransfer — время в секундах, прошедшее от начала до момента, когда передача файла должна была вот-вот начаться.
  • time_starttransfer — время в секундах, прошедшее от начала до момента, когда должен был быть передан первый байт.
  • time_total — общее время в секундах, в течение которого длилась полная операция (миллисекундное разрешение).

Если формат слишком длинный, вы можете записать его в файл и использовать приведенный ниже синтаксис для его чтения:

$ curl -s -w "@format.txt" -o /dev/null http://www.google.com

В приведенной выше команде флаг:

  • -s — заставляет curl работать без вывода сообщений.
  • -w — вывести информацию на стандартный вывод.
  • -o — используется для перенаправления вывода (здесь мы отбрасываем вывод, перенаправляя его на /dev/null).

Для сайтов HTTPS вы можете запустить следующую команду:

$ curl -s -w 'Testing Website Response Time for :%\n\nLookup Time:\t\t%\nConnect Time:\t\t%\nAppCon Time:\t\t%\nRedirect Time:\t\t%\nPre-transfer Time:\t%\nStart-transfer Time:\t%\n\nTotal Time:\t\t%\n' -o /dev/null https://www.google.com

В приведенном выше формате новые переменные времени:

  • time_appconnect — время в секундах, прошедшее от начала до завершения SSL-подключения/квитирования с удаленным хостом.
  • time_redirect — время в секундах, которое потребовалось для всех шагов перенаправления, включая поиск имени, подключение, предварительную передачу и передачу, прежде чем была запущена окончательная транзакция; он вычисляет полное время выполнения для нескольких перенаправлений.

Важные моменты, которые следует отметить.

  • Вы заметите, что значения времени отклика продолжают изменяться (из-за нескольких факторов) по мере выполнения различных тестов, поэтому рекомендуется собрать несколько значений и получить среднюю скорость.
  • Во-вторых, из результатов команд, приведенных выше, видно, что доступ к веб-сайту через HTTP намного быстрее, чем через HTTPS.

Для получения дополнительной информации см. справочную страницу cURL:

$ man curl

И последнее, но не менее важное: если ваши результаты вас не устраивают, вам нужно внести некоторые коррективы на свой сервер или в код. Вы можете рассмотреть возможность использования следующих руководств, в которых объясняются программы и советы по ускорению загрузки веб-сайтов в Linux:

  1. Установите Nginx с Ngx_Pagespeed (оптимизация скорости) в Debian и Ubuntu
  2. Увеличьте производительность Nginx с помощью Ngx_Pagespeed в CentOS 7
  3. Узнайте, как ускорить работу веб-сайтов с помощью модуля Nginx и Gzip
  4. Как повысить скорость Интернета на сервере Linux с помощью TCP BBR

Вот и все! Теперь вы знаете, как проверить время отклика сайта из командной строки. Вы можете задать вопросы через форму обратной связи ниже.

Как в Linux узнать даты выключения и перезагрузки компьютера

Может быть множество причин, почему вы хотите узнать, когда ваш компьютер на Linux выключался, перезапускался и как долго он работает. Эта информация может пригодиться в поиске и устранении проблем, которые могли случиться, когда вы не наблюдали за системой. К счастью, Linux в большинстве дистрибутивов тщательно в автоматическом режиме ведёт журнал системных событий. Доступ к сохранённой информации из командной строки также очень простой.

Последнее включение

Как узнать, когда Linux последний раз был включён? Если вам нужно определить время и дату последнего включения, то вы можете использовать команду who с опцией -b. Эта команда выведет точное число и время включения. Для выполнения команды не нужны привилегии root:

who -b

В какое время включался компьютер

С помощью команды last вы можете получить список, когда система включалась или перезагружалась. Это необязательно время, когда использовалась команда reboot, или когда нажималась кнопка «Перезагрузить» на рабочем столе. Это журнал событий, когда система была загружена.

last -x reboot

Последнее включение Linux

Если вам нужно узнать только время последнего включения компьютера с Linux, то вы можете использовать предыдущую команду, но передать её вывод по конвейеру команде head с опцией -1, чтобы она вывела только одну строку. Чтобы узнать также и время предпоследней загрузки, то замените опцию на -2 — будут выведены две строки.

last -x reboot | head -1

Выключения

Команда last работает аналогичным образом и для выключений. Она перечисляет случаи, когда компьютер был полностью выключен. Эта команда выводит диапазоны, когда компьютер был отключён. Чтобы узнать время перезагрузки (если вам важно отделить эти случаи от включения), то вы можете проанализировать эти данные и данные от предыдущей команды, чтобы получить то, что вам нужно.

last -x shutdown

Последнее выключение

Как и с перезагрузками, если данных слишком много, то вы можете передать вывод по конвейеру команде head для получения только последнего времени отключения. Конечно, можно указывать разные опции, например, -3 для вывода трёх последний периодов простоя.

last -x shutdown | head -1

Время работы — аптайм (Uptime)

Наконец если вам нужно узнать, как долго ваш компьютер работает, вы можете использовать команду uptime, чтобы получить эту информацию. Дополните её с флагом -p, чтобы вывод был намного более читаемым. Вы получите значение в днях, часах и минутах, которое ваш компьютер включён начиная с последней загрузки.

uptime -p

Надеюсь эти команды помогут решить то, что вы хотите узнать о жизни вашей системы, когда вас нет рядом, о неожиданных перезагрузках и выключениях. Если в проблему вовлечены другие программы, то вы можете проверить определённые файлы журналов в «/var/log».

Связанные статьи:

  • Что такое TTY в Linux? (и как использовать команду tty) (57%)
  • Как проверить использование памяти на Linux (50%)
  • Как закрыть терминал без убийства запущенной в нём команды (50%)
  • Решение проблемы gnome-keyring-daemon не отвечает в Linux Mint и не даёт выключить компьютер (50%)
  • Как в Linux Mint 18 включить автоматический вход в систему (50%)
  • Почему команда kill не убивает процесс? (RANDOM — 50%)

Как посмотреть время загрузки linux

Чтобы ускорить загрузку системы линукс, необходимо сначала провести анализ. В этом нам поможет systemd-analyze.

Для начала мы можем посмотреть время загрузки операционной системы. Введем следующую команду:

Вывод у меня получился такой:

Startup finished in 2.551s (kernel) + 5.787s (userspace) = 8.338s
graphical.target reached after 5.765s in userspace

Из него мы видим, что ядро загрузилось за 2.551 секунды, а все остальное за 5.787. Итого около 8 секунд грузилась вся система. Графический интерфейс стал доступен через 5.765 секунды.

Дальше мы можем посмотреть, что же больше всего задерживает загрузку:

# systemd-analyze blame | head -n 10

4.279s apparmor.service
1.044s man-db.service
951ms apt-daily-upgrade.service
834ms apt-daily.service
790ms logrotate.service
619ms upower.service
573ms systemd-logind.service
461ms dev-sda2.device
180ms udisks2.service
158ms systemd-timesyncd.service

Видим, что в ТОП-3 у нас входят: apparmor.service, man-db.service, apt-daily-upgrade.service… Надо над этим подумать на досуге ��

И на десерт – графическая карта анализа загрузки Linux:

# systemd-analyze plot > boot_analysis.svg

Открываем файл boot_analysis.svg (например, через Gwenview) и видим то, что на скриншоте.

Теперь-то точно ни один процесс загрузки не останется незамеченым! Удачи в поисках и оптимизации загрузки Вашей ОС!

Сколько времени требуется вашей системе Linux для загрузки?

Когда вы загружаете свою систему, она проходит через последовательность событий, прежде чем представить вам экран входа в систему. Вы когда-нибудь проверяли, сколько времени занимает загрузка системы? Как правило, все это происходит в течение нескольких секунд или минут, но мы не знаем точного времени. Иногда по некоторым причинам вам может потребоваться узнать точное время загрузки системы. Независимо от причины, по которой вы хотите это узнать, существует утилита systemd-analyze, которая позволит вам узнать точное время загрузки вашей Linux-системы.

Хотя вы можете использовать часы или секундомер для отслеживания времени, когда ваша система начинает загружаться, но это не подходит для любой ситуации, особенно для работающих серверов, которые вы вряд ли сможете перезагрузить. Например, если на вашем сервере работают критически важные службы, и вам необходимо определить время загрузки системы. В этом случае вам необходимо перезагрузить сервер, что не всегда возможно.

В этой статье вы узнаете, как определить, сколько времени требуется системе Linux для загрузки, и как уменьшить это время, если она загружается медленно.

Чтобы открыть Терминал командной строки, используйте комбинацию клавиш Ctrl+Alt+T.

Что такое systemd-analyze?

Systemd-analyze — это инструмент, с помощью которого можно узнать статистику последней загрузки системы. С помощью инструмента systemd-analyze вы можете получить информацию о том, сколько времени потребовалось системе для загрузки, а также о том, сколько времени потребовалось каждому устройству для запуска. К счастью, вам не нужно устанавливать этот инструмент, так как он является встроенным инструментом systemd. Вы можете проверить его с помощью следующей команды в Терминале:

which systems-analyze

В выводе будет показан полный путь к исполняемой команде.

Определение времени, затрачиваемого системой на загрузку

Чтобы узнать время, необходимое системе для загрузки, просто введите system-analyze без аргументов командной строки в Терминале:

systemd-analyze

Когда вы выполните вышеуказанную команду, инструмент systemd-analyze вычислит время, затраченное системой до завершения загрузки, с разбивкой на ядро и пользовательское пространство.

systemd-analyze

Как видно на скриншоте выше, общее время загрузки нашей системы составляет 32,378 секунды и разбито на:

Ядро: 6.074s
Пространство пользователя: 26,304 с

Расследование/устранение неполадок при медленной загрузке

Если время загрузки увеличилось, необходимо найти, какая служба замедляет процесс загрузки. Найти ее можно с помощью команды systemd-analyze blame. Эта команда выводит список всех запущенных служб, которые запускались во время загрузки, вместе со временем, которое они заняли. Имея эту информацию, вы можете оптимизировать время загрузки системы.

Выполните следующую команду в Терминале, чтобы найти, какая служба виновата в медленной загрузке:

sudo systemd-analyze blame

systemd-analyze blame

Эта команда выводит список служб, запущенных во время загрузки, а также время, которое потребовалось каждой службе для инициализации. Список сортируется по прошедшему времени в порядке убывания.

Список виноватых может быть довольно длинным, обычно первых 10 записей достаточно, чтобы найти службы, занимающие много времени. Поэтому направьте вывод вышеуказанной команды в команду «head» следующим образом:

sudo systemd-analyze blame | head

sudo systemd-analyze blame | head

Вы также можете распечатать вывод в виде дерева цепочки событий, критичных по времени. Для этого выполните следующую команду в Терминале:

 systemd-analyze critical-chain

 systemd-analyze critical-chain

В выводе вы увидите цепочку событий, отсортированную по времени (когда служба стала активной) в порядке убывания. Значение после символа «@» в каждом событии — это время, когда служба стала активной. Значение после символа «+» в каждой единице показывает время, необходимое для запуска услуги.

Из результатов, полученных с помощью вышеуказанных команд, вы можете легко определить, какой службе требуется больше времени для запуска, что приводит к медленной загрузке системы. Начните с самого начала и отключите службы, запуск которых занял больше времени, если они не обязаны запускаться при загрузке. Кроме того, отключите все службы, которые хотя и занимают меньше времени, но не требуются при загрузке, поскольку они также влияют на время загрузки системы.

Для того чтобы отключить любую службу, используйте следующий синтаксис:

sudo systemctl disable service-name

Вот и все! В этой статье вы узнали, как использовать встроенный инструмент systemd для определения времени загрузки системы. Если она загружается дольше, вы также можете найти службы, которые за это отвечают, и отключить их, чтобы улучшить время загрузки. Однако обратите внимание, что некоторые службы по умолчанию должны запускаться при загрузке, поэтому не рекомендуется отключать какую-либо службу, не зная, что она на самом деле делает, иначе могут возникнуть проблемы.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *