Pull to refresh
29
0
lash @lash

User

Send message

Резервное копирование на Аmazon S3 для начинающих

Reading time2 min
Views3.9K
Давно хотел организовать дублирование на S3 ключевых личных файлов, и вот наконец собрался. Готового решения с толковой статьей на русском языке навскидку найти не удалось, так что пришлось вспоминать английский, благо — все оказалось не просто, а очень просто.

Этот короткий материал ориентирован на «самых-самых маленьких» пользователей Linux и служит целью показать, насколько легко и просто организовать резервное копирование на сервера Amazon S3.

Читать дальше →
Total votes 61: ↑52 and ↓9+43
Comments28

Подводные камни при использовании кэширования в nginx

Reading time10 min
Views57K
В web-сервер и reverse-proxy nginx встроены очень мощные возможности по кэшированию HTTP-ответов. Однако в ряде случаев документации и примеров не хватает, в результате не все получается так легко и просто, как хотелось бы. Например, мои конфиги nginx-а местами написаны кровью. Этой статьей я попробую немного улучшить ситуацию.

В этой статье: а) подводные камни при полностраничном кэшировании; б) кэширование с ротацией; в) создание динамического «окна» в закэшированной странице.

Я буду предполагать, что вы используете связку nginx+fastcgi_php. Если вы применяете nginx+apache+mod_php, просто замените имена директив с fastcgi_cache* на proxy_cache*

Если выбирать, кэшировать ли страницу на стороне PHP или на стороне nginx, я выбираю nginx. Во-первых, это позволяет отдавать 5-10 тыс. запросов в секунду без каких-либо сложностей и без умных разговоров о «высокой нагрузке». Во-вторых, nginx самостоятельно следит за размером кэша и чистит его как при устаревании, так и при вытеснении нечасто используемых данных.

Кэширование всей страницы целиком


Если на вашем сайте главная страница хоть и генерируется динамически, но меняется достаточно редко, можно сильно снизить нагрузку на сервер, закэшировав ее в nginx. При высокой посещаемости даже кэширование на короткий срок (5 минут и меньше) уже дает огромный прирост в производительности, ведь кэш работает очень быстро. Даже закэшировав страницу всего на 30 секунд, вы все равно добьетесь значительной разгрузки сервера, сохранив при этом динамичность обновления данных (во многих случаях обновления раз в 30 секунд вполне достаточно).
Читать дальше →
Total votes 91: ↑87 and ↓4+83
Comments83

Полная визуализация интернет-аналитики

Reading time4 min
Views6.2K
Приступая к этим заметкам, пересмотрел хрестоматийный ролик «1984», которым компания Apple в свое время ярко противопоставила себя миру серости и занудства, под которым тогда подразумевались персональные компьютеры IBM.
Именно такие ассоциации порождает стартап Webvisor (Вебвизор). Он предлагает не просто принципиально новый подход к интернет-аналитике. Среди всех подобных систем он выделяется яркостью и наглядностью, противопоставляющими себя определенному занудству отчетов интернет-счетчиков, хотя бы и не похожих на Большого Брата. Подход WebVisor основан на детальном визуальном анализе поведения каждого посетителя.

Читать дальше →
Total votes 69: ↑58 and ↓11+47
Comments104

Заставляем дружить Citrix XenServer 5.5 и Openfiler 2.3

Reading time2 min
Views4.1K
Если Вы используете в своей работе программное обеспечение виртуализации Citrix XenServer, то не использовать бесплатную функцию XenMotion для «живой» миграции виртуальных машин с одного хостового сервера на другой — просто, так сказать, грешно. Итак для реализации этой функции потребуются 2 вещи:

1. Хостовые сервера под управлением Citrix XenServer — 2 шт.
2. Общее сетевое хранилише для пула серверов Citrix XenServer (SAN, NFS, FC) — 1 шт.

Если с первым пунктом все, в принципе, понятно, то со вторым придется немного подумать о реализации.
Вариантов может быть два. Либо аппаратное ХД, либо программное ХД. Аппаратные хранилища не всегда оправдывают свою цену, поэтому я решил остановить свой выбор на программной реализации, а именно openfiler 2.3. На странице закачки можно выбрать необходимую версию под свою платформу. Установка достаточно проста. Если все делать согласно инструкции то трудностей возникнуть не должно. После установки, рекомендую сразу же обновить OpenFiler через веб интерфейс, а после разметки дисков сохранить бекап, так как, в последствии, если придется переустановить хранилище оно не увидит уже созданные разделы на дисках.

А теперь о нюансах.

При использовании OpenFiler через iSCSI как общее сетевое хранилище для Citrix XenServer, возникает проблема с «отваливанием» хранилища и не восстановлением с ним связи, в случае перезагрузки хранилища. При этом в самом хранилище нельзя сделать unmap созданному для Citrix LUN.

Лечится эта беда следующим образом:

1. Заходим с консоли хранилища и вводим команду:

openfiler# chkconfig aoe off

Данной командой мы отключаем сервис ATA Over Ethernet, который перехватывает на себя управление шарингом дисков по сети и iSCSI сервис уже не может начать управление.

2. Комментируем в редакторе vi или nano, входящих в состав дистрибутива OpenFiler, для версии 2.3, строки 333-337 в файле /etc/rc.sysinit

# if [ -x /sbin/lvm.static ]; then
# if /sbin/lvm.static vgscan --mknodes --ignorelockingfailure > /dev/null 2>&1 ; then
# action $"Setting up Logical Volume Management:" /sbin/lvm.static vgchange -a y --ignorelockingfailure
# fi
# fi


3. Перезагружаемся

openfiler# reboot

После перезагрузки хранилища, оно снова станет доступным для Citrix XenServer и можно начинать создавать виртуальные машины.

П.С.

Альтернативы. Можно же использовать всеми любимый FreeNAS, ведь он тоже позволяет делать iSCSI target..., скажет кто то… Можно но FreeNAS, не делает LUN, а как раз их и требует Citrix XenServer. Также можно использовать как общее хранилище NFS, но для меня iSCSI более унифицированный, хотя по всем показателям NFS меньше грузит систему и практически не проигрывает в скорости iSCSI.
Total votes 3: ↑2 and ↓1+1
Comments7

OCR online

Reading time3 min
Views5.6K
С технологией оптического распознавания текста я познакомился где-то в 1997 года, когда купил свой первый, тогде ещё ручной, чёрно-белый сканер Genius ScanMate 256 (кстати, всё ещё рабочий). К сканеру прилагалась программа Direct OCR на 3х дюймовой дискете (блин, откуда-то из подсознания все эти названия всплывают), которая всеми своими силами пыталась доказать, что можно быстро и почти без ошибок текст из книги ввести в компьютер. Ну, доказательства были не очень. FineReader, с которым я познакомился позже, делал это качественнее. Тема распознавания меня заинтересовала, я потратил довольно много времени на научно-популярные статьи о технологиях OCR.

В 2001 году я готовил дипломную работу по web-технологиям. Долго думал о том, куда приложить знания. Поскольку меня интересовала технология OCR, я задумал совместить WEB и распознавание текстов. За само распознавание у меня должен был отвечать FineReader. С друзьями мы «разобрали» FineReader на отдельные DLL и выяснили, как вызывать отдельные функции этих библиотек, передавая двоичные данные изображений, и как получать обратно распознанный вариант текста. Над этим всем был построен простейший веб-интерфейс, чтобы загружать картинки, запускать распознавание и получать результат.
Читать дальше →
Total votes 48: ↑45 and ↓3+42
Comments31

Опыт использования выделенного сервера на Intel Atom 330

Reading time4 min
Views15K
Недавно я пытался привлечь внимание к серверам на процессорах Intel Atom. Многие встретили их со скептицизмом: «Разве может процессор для дешевых ноутбуков быть в сервере?». Сейчас услуга colocation nettop-ов на Atom-ах уже стала рядовой, и я готов поделиться с вами месячным опытом использования сервера на Intel Atom.
Читать дальше →
Total votes 87: ↑82 and ↓5+77
Comments101

Web-телефония. Обзор решений

Reading time4 min
Views13K
PhoneВ этой статье я расскажу о том, какие существуют методы реализации голосовой связи для web-проектов.
Статья носит обзорный характер и ориентирована на самый широкий круг читателей. Однако, любой желающий найдет все необходимые ссылки для углубления в суть вопроса.

Будут рассмотрены следующие задачи:
  1. Голосовая связь один на один между пользователями сайта.
  2. Голосовая конференция, то есть разговор более чем 2 собеседников.
  3. Звонки на стационарные и мобильные телефоны из браузера.
Повторюсь и скажу, что все задачи решаются в рамках web-среды. Основное условие: пользователям не требуется установка дополнительного ПО, только браузер и Flash Player.
Читать дальше →
Total votes 31: ↑29 and ↓2+27
Comments24

Сервер на стероидах: FreeBSD, nginx, MySQL, PostgreSQL, PHP и многое другое

Reading time16 min
Views40K
Нравится мне эта картинка, у меня, вот никогда такие красивые графики в какти не получались =(

Введение


С момента написания мной предыдущей статьи по оптимизации этой связки прошло довольно много времени. Тот многострадальный Pentium 4 c 512Мб памяти, обслуживающий одновременно до тысячи человек на форуме и до 150,000 пиров на трекере уже давно покоится на какой-нить немецкой, свалке, а клуб сменил уже не один сервер. Всё сказанное в ней всё ещё остаётся актуальным, однако есть вещи которые стоит добавить.
Статья большая, так что будет поделена на логические блоки:

0. Зачем вообще что-то оптимизировать?
  
1. Оптимизация ОС (FreeBSD)
  1.1 Переход на 7.х 
  1.2 Переход на 7.2
  1.3 Переход на amd64
  1.4 Разгрузка сетевой подсистемы
  1.5 FreeBSD и большое кол-во файлов
  1.6 Softupdates, gjournal и mount options
  
2. Оптимизация фронтенда (nginx)
  2.1 Accept Filters
  2.2 Кеширование
  2.3 AIO
  
3. Оптимизация бэкенда
  3.1 APC
  3.1.1 APC locking
  3.1.2 APC hints
  3.1.3 APC fragmentation
  3.2 PHP 5.3
  
4. Оптимизация базы данных
  4.1 MySQL 
  4.1.1 Переход на 5.1
  4.1.2 Переход на InnoDB
  4.1.3 Встроеный кеш MySQL - Query Cache
  4.1.4 Индексы
  
4.2 PostgreSQL
  4.2.1 Индексы
  4.2.2 pgBouncer и другие.
  4.2.3 pgFouine
  
4.3 Разгрузка базы данных
  4.3.1 SphinxQL
  4.3.2 Не-RDBMS хранилище
  4.4 Кодировки
  4.5 Асинхронность
  
Приложение. Мелочи.
  1. SSHGuard или альтернатива.
  2. xtrabackup
  3. Перенос почты на другой хост
  4. Интеграция со сторонним ПО
  5. Мониторинг
  
 6. Минусы оптимизации

Кому что-нибудь из этого списка интересно, жмём сюда...
Total votes 375: ↑368 and ↓7+361
Comments105

Веб-аналитика: анализируй это! Часть 4. От статистики к аналитике

Reading time3 min
Views8.4K
Прошу простить за большую паузу между выпусками рассылки: мне нужно было время на подготовку к проведению большого тренинга и разгребание новых материалов. Что ж, много времени прошло, многое изменилось — даже слово “Интернет” теперь нужно писать с большой буквы! Больше такого не повторится, так что продолжим наше путешествие. Напомню адреса прошлых выпусков:

Часть 1. Вступление.
Часть 2. Сбор данных.
Часть 3. Базовые метрики.

Перед тем, как перейти к описанию метрик и технологий анализа, хочу еще раз напомнить о том, зачем мы тратим на это своё время.
Читать дальше →
Total votes 27: ↑24 and ↓3+21
Comments7

Защищаемся от HTTP DDoS и прочих Хабраэффектов

Reading time5 min
Views10K
Простой способ защиты от HTTP DDoS — включить syn-cookies и заблокировать подонков. Но что делать если атакует 5к-10к хостов да еще и с динамическими IP? Тут нам на помощь придет frontend-backend архитектура c промежуточным кэшированием! Почему с промежуточным кэшированием? А потому что в моем случае от шквала запросов от frontend'а backend умирал унося за собой систему.
Читать дальше →
Total votes 160: ↑152 and ↓8+144
Comments55

Как попасть в терминал QIWI за два дня?

Reading time2 min
Views20K
Компания ОСМП – лидер на рынке платежных терминалов. По всей России установлено уже более 80 000 штук. Думаю, что многим интересна возможность получить в свое распоряжение столько касс, принимающих оплату 24 часа в день за ваши заказы! Для сравнения, у Сбербанка всего порядка 20 000 отделений по всей стране.

Ну как туда попасть?
Читать дальше →
Total votes 92: ↑59 and ↓33+26
Comments256

Типограф для TinyMCE

Reading time3 min
Views6.9K
Заметно, что на Хабре в последнее время всё чаще поднимается вопрос типографики, и это не может не радовать, ибо «оттипографленные» тексты и читать приятнее, и выглядят они куда аккуратнее обычных. Да и в целом создается ощущение, что автор заботился о своих читателях.

Примерно год–полтора назад я написал свой плагин для популярного редактора TinyMCE, который умел типографить тексты посредством веб-интерфейса типографа Студии Лебедева. С того времени плагин успешно используется в проектах студий Nimax и Artilleria. После недавнего поста я решил таки его опубликовать, а также немного его усовершенствовал — добавил Типограф тов. spearance, а также Типограф студии Муравьёва. Способ типографирования можно выбрать непосредственно перед «операцией».

Усовершенствованный типограф я сегодня и представляю на суд публики.



Описание
Total votes 38: ↑37 and ↓1+36
Comments30

Установка для «чайников»: nginx + php-cgi + mysql + eaccelerator + memcache на Debian 5.0 «lenny»

Reading time7 min
Views78K
Данная заметка является шпаргалкой для новичков в установке нормально работающего комплекса, описанного в заголовке. Все пункты установки протестированы несколько раз на разных vds, поэтому проблем с нехваткой чего-то быть не должно, как это обычно бывает, когда ставишь что-то по мануалам, надерганных из разных источников. Подробно описания настроек и «тюнинга» в заметке нет, т.к. это всё очень индивидуально и требует понимания что, как и зачем делается, а это невозможно охватить в одной даже очень большой шпоре.
Читать дальше →
Total votes 76: ↑56 and ↓20+36
Comments78

LVM — это просто!

Reading time4 min
Views623K
Собственно, хочется просто и доступно рассказать про такую замечательную вещь как Logical Volume Management или Управление Логическими Томами.
Поскольку уже давно пользуюсь LVM-ом, расскажу что он значит именно для меня, не подглядывая в мануалы и не выдёргивая цитаты из wiki, своими словами, чтобы было понятно именно тем кто ничего о нем не знает. Постараюсь сразу не рассказывать о всяческих «продвинутых» функциях типа страйпов, снапшотов и т.п.
Читать дальше →
Total votes 58: ↑54 and ↓4+50
Comments75

Intel Atom colocation

Reading time3 min
Views5.4K
Осознал сегодня, что хочу заколохостить mini-ITX сервер. Много мощностей не нужно, потому хватит и Атома. Были бы знакомые с корбиной — поставил бы на 10Мбит и в ус бы не дул, но к сожалению нет таких, а на Yota отдача ну просто никакая. Хостеры готовы ставить на коло, но лишь с небольшой скидкой. Можно брать VDS — но там свои ограничения(особенно мало памяти), и негарантированная скорость по диску. Ну и есть dedicated «дедушки» за 50$/месяц. Вобщем, ситуация грусная, и я решил покопать немного вопрос colocation/dedicated server на Intel Atom, результаты под катом.
Читать дальше →
Total votes 40: ↑39 and ↓1+38
Comments71

Настройка nginx

Reading time5 min
Views290K
Тема правильной настройки nginx очень велика, и, боюсь, в рамки одной статьи на хабре никак не помещается. В этом тексте я постарался рассказать про общую структуру конфига, более интересные мелочи и частности, возможно, будут позже. :)

Неплохой начальной точкой для настройки nginx является конфиг, который идёт в комплекте с дистрибутивом, но очень многие возможности этого сервера в нём даже не упоминаются. Значительно более подробный пример есть на сайте Игоря Сысоева: sysoev.ru/nginx/docs/example.html. Однако, давайте лучше попробуем собрать с нуля свой конфиг, с бриджем и поэтессами. :)
подробности
Total votes 88: ↑78 and ↓10+68
Comments53

Веб-аналитика: анализируй это! Часть 3. Базовые метрики

Reading time4 min
Views22K
Предыдущие части:
Часть 1. Вступление
Часть 2. Сбор данных

Пришло время поговорить о метриках — тех величинах, которые считает любая система статистики. Начнем с прямых метрик — тех, которые можно посчитать легко и без применения формул.
Читать дальше →
Total votes 34: ↑31 and ↓3+28
Comments21

ОС и вебсервер — вместе веселей

Reading time3 min
Views6K
Привет всем. Сначала я думал, что лучше всего продолжить тему nginx на примере подчищенного и откомментированного конфига с одного из боевых серверов, но потом понял, что это потребует довольно большого объёма дополнительной информации. Поэтому, я решил попробовать, для затравки, рассказать в общих чертах о том, как nginx устроен, и почему он работает так быстро.

далее
Total votes 74: ↑64 and ↓10+54
Comments82

Information

Rating
Does not participate
Registered
Activity