eAccelerator - увеличиваем производительность PHP

eAccelerator

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

Приступаем к установке. Установку выполняем из системы портов:

mod_deflate - "жмем" web-страницы

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

Для Apache можно использовать такие модули сжатия, как mod_gzip и mod_deflate. mod_deflate устанавливается с Apache (проверьте наличие в httpd.conf строки "LoadModule deflate_module libexec/apache22/mod_deflate.so"), поэтому займемся сразу его настройкой. Для активации модуля необходимо добавить следующий блок в конфигурационный файл Apache:

802.1Q VLAN - реализация 802.1Q VLAN на FreeBSD

Уже довольно большой период времени все сетевые интерфейсы настраиваю с поддержкой 802.1Q VLAN. Решил описать процедуру настройки, возможно мой опыт пригодится еще кому-либо.

Итак, не будем забывать о том, что есть сетевые карты, которые поддерживают vlan на аппаратном уровне, а есть которые не поддерживаются. Если сетевая карта не поддерживает vlan, во FreeBSD предусмотрена software поддержка, но карточка должна поддерживать oversized пакеты. Этим требованиям удовлетворяет большинство современных сетевых карт.

FreeBSD позволяет использовать vlan-интерфейсы двух типов:

  • псевдоинтерфейс vlan
  • cisco-like интерфейс

Псевдоинтерфейс vlan

Исходные данные:

Описание основ работы VLAN, принципы построения сетей с использованием VLAN

Введение

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

C появлением Ethernet-маршрутизаторов, пользователей сети стали группировать в рабочие группы с общим доменном коллизий. Это не только улучшило эффективность сети внутри каждой группы, но и уменьшило перегрузки общей сети, вызванное внезапным широковещательным штормом. Однако разделение общей сети маршрутизаторами на рабочие группы вызвало другие проблемы. Связь между рабочими группами стала возможно только через маршрутизаторы уровня 3. Это замедлило доступ к глобальным серверам компании.

Exim - retry time not reached for any host

Exim логотип

Почтовый сервер переехал в новый офис, где услуги предоставляет другой провайдер. Соответственно нужно было перенастроить сервер на новые IP-адреса. Проблемка еще усугублялась тем, что я был  в другом городе. Но, с "помощью лома и какой-то матери", новые IP-адреса присвоены, и можно подключиться по SSH-у.

После перенастройки почтовика и его рестарта, обнаружил в логах почтового сервера следующие записи:

Работы над ресурсом продолжаются

Хеллоу, ув. посетитель ресурса...

Если ты попал не этот сайт не в первый раз, то тебе (скорее всего) будет приятно узнать, что работы над ресурсом продолжаются. Просто довольно проблематично выделить немного свободного времени и потратить его на "сайтостроение" - почти всегда находится премного занятий, на которые это время и уходит

Ок, хватит излияний, и приступим к описи нововведений:

Скрипт отображения HTML-кода цветовой палитры

Думаю этот материал пригодится прежде всего web-мастерам. Но возможно еще кто-то найдет ему применение. Для начала - собственно скрипт:

NAT - реализация с помощью PF

Решил "пощупать" реализацию NAT с помощью PF. Ознакомившись с документацией, убедился, что все не так и сложно.

Итак, исходные данные:

  • офисная сеть 10.200.106.0/24;
  • интерфейс vlan106 - "смотрит" в офисную сеть;
  • интерфейс vlan684 - "смотрит" в Internet, default;
  • интерфейс vlan685 - "смотрит" в UA-IX, получает от вышестоящего маршрутизатора список сетей UA-IX.

Исходя из указанного построения сети, понятно, что НАТить необходимо на двух внешних интерфейсах одновременно (на vlan684 и vlan685 соответственно).

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

RFC 3022 — Традиционная трансляция сетевых адресов IP (NAT)

Статус документа

Этот документ содержит информацию для сообщества Internet и не определяет каких-либо стандартов. Документ может распространяться свободно.

Тезисы

Базовая трансляция сетевых адресов или Basic NAT представляет собой метод отображения адресов IP из одной группы в другую, прозрачного для конечных пользователей. Трансляция сетевых адресов и номеров портов или NAPT — метод, с помощью которого множество сетевых адресов и соответствующих портов TCP/UDP (Transmission Control Protocol/User Datagram Protocol) преобразуется в один сетевой адрес и номер порта TCP/UDP. Оба метода вместе называют традиционной трансляцией адресов (traditional NAT). NAT обеспечивает механизм подключения областей с приватными адресами к внешним областям, в которых используются уникальные в глобальном масштабе зарегистрированные адреса.

Back-resolv для блока IP-адресов

Пора заняться поддержкой бек-резолва для выделенного блока IP-адресов. Для начала, для зарегистрированного блока IP-адресов необходимо создать на DNS-сервере PTR-записи, чтобы IP-адрес мог отрезолвиться в имя. Напомню, RIPE выдал следующий блок адресов: 194.28.100.0/22.

У меня на сервере DNS работает под управлением BIND 9. Сервер работает на IP 194.28.100.100 (ns.valor.net.ua). Файлы зон располагаются в каталоге /var/named/zones. Именно в этом каталоге необходимо создать 4 файла зон (для каждой подсети). Пример отработаем на сети 194.28.100.0/24 (остальные - по аналогии).

Создаем файл зоны:

RSS-материал

Вставай, Україно!

Литература