понедельник, 23 сентября 2013 г.

solaris: включаем систему статистики sar

Есть такая простенькая система для сбора данных по нагрузке, до систем типа того же zabbix
конечно далеко, но иногда помогает понять, когда и с чем на сервере перегруз.

среда, 18 сентября 2013 г.

Debian 7: downgrade php to 5.3

В дебиане штатный пых версии 5.4, но иногда требуется 5.3, как в 6 версии. Нужная нам плюшка называется oldstable, ставится так: в /etc/apt/sources.list дописываем
deb http://ftp.debian.org/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free

apt-get update

Теперь 2 варианта: выставляем приоритеты пакетам
в /etc/apt/preferences.d/preferences (надо файл создать)
Package: php5*
Pin: release a=oldstable
Pin-Priority: 700

Package: libapache2-mod-php5
Pin: release a=oldstable
Pin-Priority: 700

Package: php-pear
Pin: release a=oldstable
Pin-Priority: 700

Package: php-apc
Pin: release a=oldstable
Pin-Priority: 700

Package: *
Pin: release a=stable
Pin-Priority: 600

ну и обновляем то, что уже стоит
PHP=$(dpkg -l|grep php|grep 5.4.4|awk '{print $2}')
apt-get install --reinstall $PHP

или просто ставим нужные версии руками через
apt-get install php5=5.3.3-7+squeeze14
версию вынесем в переменную
VERSION="5.3.3-7+squeeze14"
и чтобы не было конфликтов, ставим базу отдельно
1) apt-get install php5=$VERSION
2) apt-get install php5-common=$VERSION
3) apt-get install php5-cli=$VERSION
после этого доставляем нужные модули, зависимости уже подтянет само. Но это уже изврат, имхо. Да, и не забываем зафиксировать версии, чтобы не обновило на 5.4 (для 1 варианта неактуально!)
aptitude hold php5 php5-cli php5-common

линки
http://blog.wpkg.org/2013/06/20/downgrading-to-php-5-3-on-debian-wheezy-7-0/
http://rusadmin.biz/ustanovka-php-5-3-na-debian-7.html
http://forums.debian.net/viewtopic.php?f=17&t=104075

.htaccess и php_value mbstring.func_overload

Боян конечно, но мы только недавно столкнулись: в htaccess больше нельзя прописать php_value типа mbstring.func_overload (http://bugs.php.net/bug.php?id=47187&edit=1)

Достаточно простое решение без всяких fastcgi:

<IfModule mod_php5.c>
    php_value default_charset UTF-8
    php_admin_value mbstring.func_overload 2
    php_value mbstring.internal_encoding UTF-8
    php_admin_value realpath_cache_size "4096k"
</IfModule>

четверг, 12 сентября 2013 г.

Сварка оптических волокон

Очень интересное описание процесса работы с оптикой

http://habrahabr.ru/post/193146/
Сварка оптических волокон. Часть 1: кабели и их разделка, оптический инструмент, муфты и кроссы, коннекторы и адаптеры

Отличия свичей L2 и L2+

L2+ "обычно" называют коммутатор уровня 2, но с расширенной функциональностью, чаще всего имея ввиду именно поддержку VLAN-ов 802.1q

Часть операций он может выполнять и на уровне Layer3-4 (например на портах выставлять QoS с приоритезацией по UDP/TCP портам, но при этом маршрутизировать не может).


http://forum.ixbt.com/topic.cgi?id=14:44486

А маршрутизация VLAN это уже L3

понедельник, 9 сентября 2013 г.

Ускоряем работу umi.cms

Есть такая CMS от UMI, отличается даже большей тормознутостью чем битрикс и в целом несколько сложной разработкой.

Есть сервер, на базе core i7, не загруженный, но со временем открытия страниц порядка 7с. Попробуем несколько ускорить.

среда, 4 сентября 2013 г.

solaris: аналоги netstat -npl, -tulpn

Варианты не 1-в-1, но можно сформировать список и форматировать уже как надо, главное понять принцип.

Через lsof (ставится отдельно)
lsof -i TCP|fgrep LISTEN

получение списка без lsof
pfexec pfiles `ls /proc` 2>/dev/null | egrep '^[0-9]|port:' | grep -v "AF_INET6" | sed -e 's/sockname: AF_INET//' -e 's/ *port: /:/'

вариант 2, фильтрованный
pfiles /proc/* 2>&- |
  nawk 'END {
  if (f) print p
    }
/^[0-9]/ {
    if (f) print p, RS
    p = $0
    f = 0
  }
/INET / {
  sub(/.*INET/,"")
  p = p ? p RS $0 : $0
  f = 1
  }'

Вариант  для 1 порта через lsof
lsof -i:port

без lsof надо открывать proc(ls /proc) и парсить, пример есть тут

линки
https://blogs.oracle.com/taz/entry/get_application_pid_listening_on
http://onlineappsdba.com/index.php/2008/06/10/how-to-find-pid-listening-particular-port-on-linuxsolaris-10/
http://stackoverflow.com/questions/91169/what-process-is-listening-on-a-certain-port-on-solaris
http://www.unix.com/solaris/87330-list-tcp-ports-process.html
http://chihungchan.blogspot.ru/2007/03/which-process-listens-to-this-port-in.html