При возникновении  ошибка socket () failed (24: Too many open files)

Причина в лимитах. По умолчанию на процесс выдается возможность открыть 1024 файла. посмотрим текущие лимиты.

#for pid in `pidof nginx`; do echo "$(< /proc/$pid/cmdline)"; egrep 'files|Limit' /proc/$pid/limits; echo "Currently open files: $(ls -1 /proc/$pid/fd | wc -l)"; echo; done

Получим отчет

Continue Reading

Установим необходимые пакеты

apt-get install erlang  gnuplot-nox libtemplate-perl libhtml-template-perl libhtml-template-expr-perl make

Создадим папку перейдем в нее и загрузим дистрибутив программы утилитой wget.

mkdir ./src; cd ./src &&  wget http://tsung.erlang-projects.org/dist/tsung-1.5.1.tar.gz

 
Continue Reading

sudo apt-get install siege

Для проверки сделаем первый тест. Будем симулировать 10 пользователей, которые безостановочно загружают главную страницу в течении 5 минут.

siege -c 10 -b -t 5m http://mysites.com/

Эмитация работы пользователя
Для того чтобы посмотреть на нагрузку создаваемою при открытии страниц сайта, мы воспользуемся логом сервера. И скопируем  из него все url запросов.

cat access.log | grep -o -P '(GET|POST) .* HTTP'| awk '{print "http:// mysites.com "$2}'| sort -u | grep -v -P -i '(admin)' >> /tmp/urls.txt

Разберем его поподробнее:

**cat access.log** - выводит лог, где на месте access.log должен быть путь к логу доступа apache
**grep -o -P '(GET|POST) .* HTTP'** - ищем с помощью регулярного выражения url
**awk '{print "http://mysites.com "$2}'** - удаляем шум, добавляем имя хоста (**http://mysites.com замените на свое**) **sort -u** - сортируем, удаляем дубликаты **grep -v -P -i '(admin)'** - фильтруем url, по которым ходить не надо с помощью регулярных выражений Для фильтрации статики, можно применить: **grep -v -P -i '\.(css|js|jpg|png|gif|txt)$' ** **>> /tmp/urls.txt** - отправляем результат в файл

В результате получаем файл, содержащий множество реальных url.  Приводим нашу команду к такому виду:

siege -c 10 -b -t 5m -f /tmp/urls.txt

Чтобы заставить утилиту брать URL из файла не последовательно, а случайно, добавьте опцию '-i':

При необходимости вы можете увеличить диапазон случайно временной задержки между отправкой запросов при помощи опции '-d'. Например, чтобы siege выдерживал случайную паузу между запросами в пределах между 0 и 5 секундами:

siege -c 10 -d 5 -b -t 5m -i -f /tmp/urls.txt
Некоторые опции:
-b - не будет делать паузу между запросами
-c - количество параллельных запросов, отправляемых за один раз
-r - количество повторов запроса
-v - показывает текущие запросы и ответы в консоли
-t - время теста, можно использовать h,m,s
-f - список URL-ов из файла
-i - брать ULR-ы из файла рандомно

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

wget -r -k -l 7 -p -E -nc http://example.ru/

Будет создана папка, одноименная сайту. Начинать его просматривать можно начать с index.html

Теперь расшифровка атрибутов:
— r — указывает на то, что нужно рекурсивно переходить по ссылкам на сайте, чтобы скачивать страницы.
— k — используется для того, чтобы wget преобразовал все ссылки в скаченных файлах таким образом, чтобы по ним можно было переходить на локальном компьютере (в автономном режиме).
— p — указывает на то, что нужно загрузить все файлы, которые требуются для отображения страниц (изображения, css и т.д.).
— l — определяет максимальную глубину вложенности страниц, которые wget должен скачать (по умолчанию значение равно 5, в примере мы установили 7). В большинстве случаев сайты имеют страницы с большой степенью вложенности и wget может просто «закопаться», скачивая новые страницы. Чтобы этого не произошло можно использовать параметр -l.
— E — добавлять к загруженным файлам расширение .html.
— nc — при использовании данного параметра существующие файлы не будут перезаписаны. Это удобно, когда нужно продолжить загрузку сайта, прерванную в предыдущий раз.

--user=login - указываем логин
--password='pass' указываем пароль
--save-cookies=cooke
-U "Mozilla/5.0 (Windows; U; Windows NT 6.0; en-US; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5" -указание User Agent

P.S. wget — очень мощная утилита, её функционал можно долго изучать.

1

Для того чтобы настроить  время и  часовой пояс в  Debian запускаем команду

# dpkg-reconfigure tzdata

В открывшемся меню выбираем географический район (Европа)

 

Далее выбираем город (Москва)

sity

 

После чего промеряем текущую дату и время

# date

 

 

Прежде всего мы создадим приватный ключ и файл запроса на сертификат для сервера OpenVPN, а также получим по созданному запросу в удостоверяющем центре CA подписанный сертификат. В результате у нас появятся файлы server.crt и server.key. Далее займемся остальными файлами, перечисленными в табл. 3.
 Continue Reading