Слава нації
#StandWithUkraine

Роман Теличко

Блог з програмування, оптимізації та адміністрування систем

Тег bash

Простой способ узнать Time To First Byte (TTFB) используя cURL

// 25 Січня, 2018 | 6778 переглядів | коментарів (0)

Немного Википедии (хоть и переведенной на русский)

Time To First Byte (“Время до первого байта, TTFB) – это измерение, используемое как указание на отзывчивость веб-сервера или другого сетевого ресурса.

TTFB измеряет продолжительность от пользователя или клиента, делающего HTTP-запрос к первому байту страницы, получаемой браузером клиента. Это время составлено из времени соединения сокета, времени, затраченного на отправку HTTP-запроса, и времени, затраченного на получение первого байта страницы. Хотя иногда неправильно понимается как вычисление после DNS, исходный расчет TTFB в сети всегда включает задержку сети в измерении времени, которое требуется для начала загрузки ресурса.

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

Узнать TTFB (в секундах), используя cURL, можно следующим образом:

curl -q -o /dev/null -w "\nConnect: %{time_connect}\nTTFB: %{time_starttransfer}\nTotal time: %{time_total} \n" https://romantelychko.com

Что выведет приблизительно следующее:

  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 14053    0 14053    0     0  14053      0 --:--:-- --:--:-- --:--:--  201k

Connect: 0,008494
TTFB: 0,067665
Total time: 0,068982 

Читати далі…

Бэкапим Linux-сервер в Dropbox

// 18 Січня, 2013 | 4245 переглядів | коментарів (0)

Если ваши серверные бэкапы могут вместиться в размер виртуального диска Dropbox’a, то думаю что разумным будет бэкапить файлы, помимо другого веника, ещё и в облако.
Начнём.
Читати далі…

Amazon. Как пакетно добавить набор IP-адресов в Amazon Security Groups?

// 24 Жовтня, 2012 | 246 переглядів | коментарів (0)

Под любимым Линуксом это делается довольно просто с помощью их API.

Прежде всего устанавливаем пакет ec2-api-tools:

sudo apt-get install ec2-api-tools

Или если его не существует или хотим всегда иметь самую последнюю версию, добавляем репозиторий:

sudo apt-add-repository ppa:awstools-dev/awstools
sudo apt-get update
sudo apt-get install ec2-api-tools

После чего выполняем относительно простые инструкции по установке и настройке EC2 API Tools для Ubuntu.

После этого всего мы готовы к работе с API Amazon’a.

Создаём Security Group (если ещё её не было):

ec2-create-group ips.port80 -d "IP List @ port 80"
GROUP	sg-XXXXXXXX	ips.port80	IP List @ port 80

И добавляем в неё список IP (при условии что он лежит в файле ~/ips.list, в каждой строке есть отдельный IP или диапазон IP):

for i in `cat ~/ips.list`; do ec2-authorize ips.port80 -P tcp -p 80 -s $i; done
GROUP			ips.port80		
PERMISSION		ips.port80	ALLOWS	tcp	80	80	FROM	CIDR	XXX.XXX.0.0/16	ingress
...

Вот и всё.

Получить User-Agent из access.log

// 9 Квітня, 2012 | 1142 переглядів | коментарів (0)

Это делается довольно легко (выведет все уникальные User-Agent из лога):

cat access.log | awk -F'"' '{print $6}' | sort | uniq

Если лог имеет другой формат — заменить $6 на другой порядковый номер столбца.

RAR→JPEG или прячем архив внутри картинки

// 12 Березня, 2012 | 2079 переглядів | коментарів (0)

Спрятать файлы внутри JPEG-изображения довольно просто.
Берём архив rar/zip (к примеру something.rar) и картинку в которую мы хотим вложить какие-то данные (например someimage.jpg).

Теперь просто выпоняем комманду:

cat someimage.jpg something.rar > result.jpg

Вуаля! Наш архив something.rar теперь спрятан в картинке result.jpg.

Для извлечения необходимо просто переименовать result.jpg в result.rar и открыть любимым архиватором.

Firefox. Сжатие БД программы для ускорения работы

// 21 Лютого, 2012 | 1298 переглядів | коментарів (0)

Firefox для своей работы использует БД SQLite, файлы которой нужно периодически оптимизировать (Vacuum). Что может давать в некоторых случаях трёхкратное ускорение запуска Firefox.

Сделать это можно с помощью следующего скрипта:

#!/bin/bash

echo ""
cd ~/.mozilla/firefox/*.default/
pwd
echo ""

for i in *.sqlite;
do	
    prev_size=`ls -lAgh $i | awk '{ print $4 }'`
    echo -n " Vacuum "$i"... ";
    echo "VACUUM;" | sqlite3 $i ;
    echo -e "\tOK ($prev_size -> `ls -lAgh $i | awk '{ print $4 }'`)";
done

echo ""

Для работы необходимы пакет sqlite3

sudo apt-get install sqlite3

Данный скрипт можно запускать периодично. Например при старте компьютера.