Украинская Баннерная Сеть

Качественный хостинг, 1Gb места - $1.88
Хостинг

Linux VPS, 512 RAM, 30Gb HDD - $17
VPS
Видео с Highload 2009. Что мы знаем о производительности интернет-проекта или как вылечить зуб, если неизвестно какой болит?

Видео доклад с конференции Highload 2009.

Название: Что мы знаем о производительности интернет-проекта или как вылечить зуб, если неизвестно какой болит?
Год: 2009
Докладчик: Сергей Рыжиков
Компания: 1С-Битрикс
Язык доклада: Русский
Описание: Производительность Интернет-проекта складывается из производительности платформы, качества разработки Интернет-проекта и общей конфигурации серверной системы и базы данных (хостинга).

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

Но как найти это ключевое место, или тот самый больной зуб, чтобы устранить проблему?

Что играет решающую роль в производительности системы? Где заканчивается оптимизация кода, и начинается оптимизация конфигурации? Какие ограничения может накладывать платформа разработки?

В рамках доклада я детально расскажу о разработанной нами методике для анализа производительности Интернет-проектов на базе PHP и рекомендуемых конфигурациях.

Подробнее »

Видео с Highload 2009. Capacity Management как основа регулярного процесса обеспечения производительности информационных технологий

Видео доклад с конференции Highload 2009.

Название: Capacity Management как основа регулярного процесса обеспечения производительности информационных технологий
Год: 2009
Докладчик: Максим Кутузов, Юрий Ковалев
Компания: Performance Lab
Язык доклада: Русский
Описание: В докладе «Capacity Management как основа регулярного процесса обеспечения производительности корпоративных информационных технологий» будут:(/p)
- Описана структура процесса Performance Assurance
  *Анализ ожиданий и прогнозов бизнеса.
  *Управление мощностями оборудования (Capacity Management).
  *Нагрузочное тестирование (приемочное и регрессионное).
  *Мониторинг производительности (End-To-End, RUM, др.).
  *Оптимизация производительности и Performance Engineering .
- Рассмотрен конкретный пример работы процесса для банковского кредитного конвейера (нагруженная 4-звенная информационная система)
- Выполнен краткий обзор инструментов, необходимых для поддержания процесса Performance Assurance
  * Инструменты нагрузочного тестирования.
  * Средства мониторинга производительности.
  * Инструменты анализа производительности и диагностики.

Подробнее »

Видео с Highload 2009. Тестирование в компании Бегун

Видео доклад с конференции Highload 2009.

Название: Тестирование в компании Бегун
Год: 2009
Докладчик: Дмитрий Зенович
Компания: Бегун
Язык доклада: Русский
Описание: Тема доклада связана с организацией отдела тестирования, реорганизацией процесса разработки, техническими аспектами автоматизированного тестирования или еще чем-то подобным, в зависимости от того, что будет наиболее интересным публике конференции Highload++.

В основном, наш отдел занимается автоматизированным функциональным тестированием веб-интерфейсов, онлайновых и оффлайновых демонов и скриптов, а также js.

В качестве фреймворка для тестирования всего этого мы используем PHPUnit. У нас есть масса технических наработок, таких как:

* библиотека для написания тестов с оригинальным подходом к хранению и сериализации данных;
* средства отслеживания и подмены результатов вызовов методов PHP;
* средства перехвата вызова хендлеров демонов;
* отслеживание записи в лог-файлы;
* средства перехвата работы с базой;
* сборщиком мусора в БД;
* улучшения PHPUnit в части работы с селениум;
* патч PECL-модуля;
* настройка средства непрерывной интеграции;
* перевод тестирования в виртуальные стенды;
* настраиваемый прокси для подмены ответов демонов и статических файлов;

В процессе создания и становления отдела тестирования мы сильно изменили организацию разработки в компании. Например:

* введена стабильная ветка svn;
* код стал выкладываться из стабильной ветки;
* разработчики в обязательном порядке стали покрывать код юнит-тестами;
* утверждены стандарты кодирования;
* введена процедура code-review;
* перед коммитом стабильной ветки в ней прогоняются тесты;
* введены обязательные декомпозиции разработки и тестирования с оценкой трудозатрат;
* на основе оценок и трудозатрат разработки и тестирования стали составляться планы;
* последнее время мы стали собирать статистику на основе формализованных баг-репортов.

Подробнее »

Видео с Highload 2009. Улучшения производительности в PostgreSQL 8.4

Видео доклад с конференции Highload 2009.

Название: Улучшения производительности в PostgreSQL 8.4
Год: 2009
Докладчик: Магнус Хагандер (Magnus Hagander)
Компания: PostgreSQL Europe & Redpill Linpro (Sweden)
Язык доклада: Английский с переводом
Описание: В любой точке мира сегодня можно встретить компании и проекты, использующие свободную СУБД PostgreSQL для обеспечения надёжной работы высоконагруженных систем. Каждая новая версия PostgreSQL несёт в себе множество значительных улучшений производительности. В данном докладе подробно описываются все основные новшества PostgreSQL 8.4 в области производительности, такие как: Карты Видимости (Visibility Maps), мультипроцессорное восстановление бэкапов, оптимизации ввода-вывода. Кроме этого, обсуждаются темы, особо важные для обеспечения отказоустойчивости и высокого уровня производительности промышленных систем, а именно: статистика и мониторинг, новые инструменты для администраторов баз данных.

Подробнее »

Установка и настройка OpenVPN на CentOS 5.3

Подготовка

В стандартных репозиториях CentOS пакет OpenVPN отсутствует. Добавляем репозиторий rpmforge, предварительно установив плагин priorities. Дело в том, что в различных репозиториях пакеты могут повторяться, priorities же указывает yum на то из какого репозитория использовать пакет, если имеются совпадения. Рекомендуемые значения приоритетов следующие:

[base], [addons], [updates], [extras] ... priority=1
[centosplus],[contrib] ... priority=2
Остальные ... priority=N  (где N > 10)

Устанавливаем priorities:

# yum install yum-priorities

Добавляем приоритеты (priority=1) к репозиториям (/etc/yum.repos.d):

[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os
#baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
priority=1

#released updates
[updates]
name=CentOS-$releasever - Updates
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates
#baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=http://mirror.centos.org/centos/RPM-GPG-KEY-centos5
priority=1

... и т.д.

Устанавливаем GPG ключ репозитория:

# rpm --import http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt

Скачиваем пакет с информацией о репозитории:

i386:
wget http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

x86_64:
wget http://apt.sw.be/redhat/el5/en/x86_64/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm

Проверяем пакет:

# rpm -K rpmforge-release-0.3.6-1.el5.rf.*.rpm

Если проверка прошла успешно, устанавливаем:

# rpm -i rpmforge-release-0.3.6-1.el5.rf.*.rpm

Обновляем локальный кеш:

# yum check-update

Все, новый репозиторий подключен. Можно переходить к установке OpenVPN.

Установка OpenVPN

Установим OpenVPN:

# yum install openvpn

Создадим конфигурационные файлы OpenVPN‘а

# touch /etc/openvpn/openvpn.conf
# mkdir /etc/openvpn/ccd
# mkdir /etc/openvpn/keys
# cp -r /usr/share/doc/openvpn-2.0.9/easy-rsa/ /etc/openvpn/
# cp /usr/share/doc/openvpn-2.0.9/easy-rsa/openssl.cnf /etc/openvpn
# cd /etc/openvpn/easy-rsa
# chmod +x clean-all
# chmod +x build*

Отредактируем /etc/openvpn/easy-rsa/vars

export KEY_COUNTRY=RU
export KEY_PROVINCE=MSK
export KEY_CITY=MOSCOW
export KEY_ORG="OpenVPN-TEST-INSTALLATION"
export KEY_EMAIL="[email protected]"

Создадим ключи:

# cd /etc/openvpn/easy-rsa
# . ./vars
# ./clean-all
# ./build-ca
# ./build-key-server vpnserver
# ./build-dh

Скопируем ключи:

# cp /etc/openvpn/easy-rsa/keys/ca.crt /etc/openvpn/keys/ca.crt
# cp /etc/openvpn/easy-rsa/keys/vpnserver.crt /etc/openvpn/keys/vpnserver.crt
# cp /etc/openvpn/easy-rsa/keys/vpnserver.key /etc/openvpn/keys/vpnserver.key
# cp /etc/openvpn/easy-rsa/keys/dh1024.pem /etc/openvpn/keys/dh1024.pem

Отредактируем /etc/openvpn/openvpn.conf

port 1194
proto tcp
dev tun
tls-server
server 192.168.100.0 255.255.255.0
keepalive 10 120
persist-key
persist-tun
status openvpn-status.log
client-config-dir /etc/openvpn/ccd
push "route 192.168.100.0 255.255.255.0"
duplicate-cn
ca /etc/openvpn/keys/ca.crt
cert /etc/openvpn/keys/vpnserver.crt
key /etc/openvpn/keys/vpnserver.key
dh /etc/openvpn/keys/dh1024.pem

Пример добавления клиента:

# 192.168.100.100/30
192.168.100.100 -  *net
192.168.100.101 - client01
192.168.100.102 -  *gw
192.168.100.103 -  *br

Пропишем клиента в /etc/openvpn/ccd

# touch /etc/openvpn/ccd/client01
# echo "ifconfig-push 192.168.100.101 192.168.100.102" > /etc/openvpn/ccd/client01

Сгенерируем клиентские ключи:

# cd /etc/openvpn/easy-rsa
# ./build-key client01 (в секции Common Name указать client01)

Теперь клиенту следует отдать файлы ca.crt, client01.crt, client01.key (все находятся в /etc/openvpn/easy-rsa/keys) и конфигурационный файл:

client
tls-client
verb 3
dev tun
proto tcp
remote <ip.add.re.ss> 1194
nobind
persist-key
persist-tun
ca ca.crt
cert client01.crt
key client01.key

Запуск OpenVPN:

# /etc/init.d/openvpn start

Украинская Баннерная Сеть
Hosting Catalog Rambler's Top100