Немного Википедии (хоть и переведенной на русский)
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
Читати далі…
Если ваши серверные бэкапы могут вместиться в размер виртуального диска Dropbox’a, то думаю что разумным будет бэкапить файлы, помимо другого веника, ещё и в облако.
Начнём.
Читати далі…
Под любимым Линуксом это делается довольно просто с помощью их 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 из лога):
cat access.log | awk -F'"' '{print $6}' | sort | uniq
Если лог имеет другой формат — заменить $6 на другой порядковый номер столбца.
Спрятать файлы внутри JPEG-изображения довольно просто.
Берём архив rar/zip (к примеру something.rar
) и картинку в которую мы хотим вложить какие-то данные (например someimage.jpg
).
Теперь просто выпоняем комманду:
cat someimage.jpg something.rar > result.jpg
Вуаля! Наш архив something.rar
теперь спрятан в картинке result.jpg
.
Для извлечения необходимо просто переименовать result.jpg
в result.rar
и открыть любимым архиватором.
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
Данный скрипт можно запускать периодично. Например при старте компьютера.