четверг, 15 ноября 2007 г.

ОчиПяткИ и Блиц Ответов

Почитал только что свой блог – какой ужас(!) это надо же так оЧипяТывацЦО…
Все с этого момента пишу все свои записи изначально только в Word. Думаю должно помочь.
Итак, как и обещал сегодня небольшой блиц по вопросам Яндекса на которые я знаю ответы (или по крайней мере я так думаю, что знаю).



5) В http.conf сервера Apache написаны следующие строчки:
RewriteCond %{HTTP:User-Agent} "(^Teleport Pro)|(^libwww)|Email"
RewriteRule .* - [F] Что они означают?
Запрещает доступ для off-line браузеров. Анализируется заголовок HTTP User-Agentна предмет содержания в нем подстроки Teleport Pro, или libwww, и строки целиком Email. Доступ запрещается для всех запрошенных URL (.*) флагом -[F].


Однако стоит заметить, что если off-line браузер будет делать побсановку поля User-Agentна, то правило не сработает =(
Хороший хелп по mod_rewrite - Модуль Apache mod_rewrite (http://www.egoroff.spb.ru/portfolio/apache/mod_rewrite.html)
6) Перед Вами встала задача установить операционную систему FreeBSD на 50 серверах за один день.
Как Вы решите эту задачу?


Тут нужно как то автоматизировать установку ОС. Вообще для автоматической установки FreeBSD существует файл install.cfg т.е. при установке в sysinstall выбираем  "Load Config". Но если задача устнавливать именно на серверы (где могут отсутствовать floppy, DVD и прочите дисководы), то выход видится уставное по сети (сетевые должны поддерживать PXE boot). Есть хороший ман по установке по сети (http://slapsh.livejournal.com/140408.html).


Т.е. ставим северы в стойки, ставим загрузку с сети, настраиваем сервер-установки, при установке выбираем загружать конфиг и ставим, ставим, ставим...


З.Ы.: 50 серверов это вообще сурово конечно 0_о. Я максимум одновременно тока на 3 ставил =) Еще http://www.opennet.ru/base/sys/freebsd_remote_install.txt.html и http://www.opennet.ru/tips/info/140.shtml


13) Как можно посмотреть содержимое ip-пакетов, приходящих на хост test.yandex.ru?
Например для этого на маршрутизаторе или на самом хосте запустить программу TCPDump либо другой снифер.


???) Имеется web-сервер с очень маленьким временем ответа на запросы. Однако пользователи из некоторых, например, ADSL или домашних сетей жалуются, что долго загружаются страницы с этого сервера, иногда загрузка вообще «замирает». Ping при этом без потерь и больших задержек, с других web-узлов страницы загружаются хорошо.
Почему такое может происходить?


Причина тут в прокси севере за которым сидят пользователи у которых быстрый пинг, но медленно грузятся страницы (при том что сам веб-сервер отдает все очень быстро). Конкретно в чем там засада сказать сложно, но:
1) Установлен лимит ширины канала для юзеров.
2) Тормозит сам прокси - например из-за большой нагрузки
3) Тормозит какой то другой софт куда может направляться веб-трафик
И т.д.


Общий ответ такой - причина в производительности или в настройке какого-то промежуточного узла между веб-сервером и браузером.



???) Как будет выглядеть кусок конфигурационного файла Apache, который будет запрещать доступ к каталогу /var/www/restricted для клиентов, использующих браузер Browser всех версий, кроме версии 3.14? User-Agent для Browser выглядит как “Browser v$VERSION”.


Оу. это похоже вопрос зеркальный вопросу №5. Ну, собственно с использованием Mod_ReWrite надо будет написать вот такой вот кусок конфига:
RewriteCond %{HTTP:User-Agent} !"(^Browser v3\.14)"
RewriteRule .* - [F]


Жаль прямо сейчас нет возможности протестировать выражение - с ходу могу ошибаться в синтаксисе. Основная идея в том что бы с помощью префикса "!" и выражения !"(^Browser v3\.14)"
проверить версию браузера, а с помощью RewriteRule .* - [F] запретить доступ.


???) Есть сервер с Linux, на котором 4 ГБ RAM и 2 ГБ swap.
Что нужно сделать, чтобы общий объем распределяемой памяти в системе стал равным 9 ГБ?


Увеличить объем RAM (если поддерживается) или сделать больше своп. Своп можно увеличить например создав своп файл:


dd if=/dev/zero of=file.swp count=размер_файла_в_мегабайтах bs=1024K
mkswap file.swp
swapon file.swp
sync
В случае предлагаемом в вопросе размер_файла_в_мегабайтах = 3072. Ах, да это все если ОС Linux. В Windows Все делается путем: Св-ва Моего Компьютера -> Дополнительно -> Быстродействие -> Дополнительно -> Изменить


Вот. Есть еще вопрос про RAID 5, но я сейчас точно не помню, что там за пятый левел – вроде должна быть равномерная запись на диски и информацией о честности, так же разнесенный по разным дискам… вроде. Завтра почитаю Wiki и напишу ответ.


Ах, да. На будущее надо будет объеденить все списки с вопросами в один, иначе потом запутаюсь.


КонецЪ Связи.

2 комментария:

Unknown комментирует...

Имеется web-сервер с очень маленьким временем ответа на запросы. Однако пользователи из некоторых, например, ADSL или домашних сетей жалуются, что долго загружаются страницы с этого сервера, иногда загрузка вообще «замирает». Ping при этом без потерь и больших задержек, с других web-узлов страницы загружаются хорошо.
Почему такое может происходить?

Трабл скорее всего в кривой настройке MTU на клиенте.

Анонимный комментирует...

Сомнительно, со слишком маленьким MTU он бы просто не мог загрузить часть информации на странице, но то, что в пакеты влезает, грузилось бы быстро.