FastNetMon

Показаны сообщения с ярлыком Хостинг. Показать все сообщения
Показаны сообщения с ярлыком Хостинг. Показать все сообщения

пятница, 21 мая 2010 г.

Хостинг такой хостинг

Только ны рынке хостинга можно за 50 баксов продать тариф с 10% процессора :) Посмотрел бы я, как бы кто-нибудь купил машину с, скажем, 20% л/с :)

пятница, 30 апреля 2010 г.

О программистах

Наверное, никто не имеет такого отвратительного мнения о программистах, как хостеры. Мы-то видим, как это говно тормозит и сваливаем несваливаемые сервера при посещаемости 3 человека / неделя, мы-то видим, как люди завязывают софт на десятки модулей (крайне часто даже нестандартных) без особой надобности, мы-то видим, как люди умудряются написать свой скрипт, чтобы он один из сотен и тысяч скриптов (угу, около нескольких сотен только участвовало в тестировании нашего хостинга на совместимость), только он один не работал с дебияновским патчем сухосин.

Ненавижу.

вторник, 6 апреля 2010 г.

Закрытие Датацентра McHost

http://webplanet.ru/news/business/2010/04/06/mchost.html

Ужас какой-то, что творится, Господа?

ping mchost.ru
^C
macbook-pavel-odincov:~ nrg$ nslookup mchost.ru
Server: 192.168.155.1
Address: 192.168.155.1#53

** server can't find mchost.ru: SERVFAIL


При этом mchost час назад ределегирован на DNS Jino. Это вообще нечто....

whois mchost.ru
% By submitting a query to RIPN's Whois Service
% you agree to abide by the following terms of use:
% http://www.ripn.net/about/servpol.html#3.2 (in Russian)
% http://www.ripn.net/about/en/servpol.html#3.2 (in English).

domain: MCHOST.RU
nserver: ns1.jino.ru.
nserver: ns2.jino.ru.
state: REGISTERED, DELEGATED, UNVERIFIED
org: McHost.ru Ltd.
phone: +7 495 6456104
fax-no: +7 495 6456104
e-mail: info@mchost.ru
registrar: REGTIME-REG-RIPN
created: 2004.01.30
paid-till: 2011.01.30
source: TCI

Last updated on 2010.04.06 22:55:00 MSK/MSD





А на сайте OVERSUN-MERCURY.RU в это время:
ФГУП "РНИИ КП" под видом финансирования собственных проектов финансирует сторонний коммерческий бизнес, не относящийся к деятельности института. Например, финансирование компании ООО "Оверсан-Скалакси" (http://scalaxy.ru/) за 2009-2010 год. Формально платежи проходят по договору о разработки неких программных комплексов, а по факту деньги идут на операционные расходы коммерческой организации Оверсан-Скалакси. К компании Оверсан-Скалакси прямое отношение имеет сын генерального директора и конструктора ФГУП "РНИИ КП" Урличич Леонид Юрьевич. Мобильный телефон Леонида 729-92-79, адрес проживания Москва, ул. Марксистская, д 5. кв. 78


Что ЭТО?

P.S. я абсолютно незаинтересованное лицо, все данные взяты из открытых источников.

Bluehost vs HostGator

http://www.10-cheapwebhosting.com/BlueHost-vs-HostGator.php

суббота, 6 марта 2010 г.

пятница, 29 января 2010 г.

Удаленный MySQL vs локальный

Тесты полная синтетика, кто скажет, что они ацтой - будет прав. На таргет машине голый вордпресс. Канал между машинами - 100 магабит череpз 3 хопа. Долбеж ведется посредством ab в такой конфигурации: ab -c 10 -n 1000 http://test1.ru:80/

Результаты тестов следующие:

Локальный мускул: Requests per second: 55.36 [#/sec] (mean)
Удаленный (без тюнинга - стандартный CentOS MySQL): Requests per second: 44.23 [#/sec] (mean)
Удаленный (с тюнингом): Requests per second: 46.40 [#/sec] (mean)



Локальный:

ab -c 10 -n 1000 http://test1.ru:80/
This is ApacheBench, Version 2.0.40-dev <$Revision: 1.146 $> apache-2.0
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright 2006 The Apache Software Foundation, http://www.apache.org/

Benchmarking test1.ru (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Finished 1000 requests


Server Software: nginx
Server Hostname: test1.ru
Server Port: 80

Document Path: /
Document Length: 4970 bytes

Concurrency Level: 10
Time taken for tests: 18.62123 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 5163000 bytes
HTML transferred: 4970000 bytes
Requests per second: 55.36 [#/sec] (mean)
Time per request: 180.621 [ms] (mean)
Time per request: 18.062 [ms] (mean, across all concurrent requests)
Transfer rate: 279.09 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 0 0 0.3 0 7
Processing: 0 207 25.0 210 420
Waiting: 0 207 25.0 209 420
Total: 0 207 25.0 210 420

Percentage of the requests served within a certain time (ms)
50% 210
66% 214
75% 215
80% 217
90% 220
95% 223
98% 227
99% 230
100% 420 (longest request)



Удаленный без тюнинга:


ab -c 10 -n 1000 http://test1.ru:80/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking test1.ru (be patient)
Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests


Server Software: nginx
Server Hostname: test1.ru
Server Port: 80

Document Path: /
Document Length: 4915 bytes

Concurrency Level: 10
Time taken for tests: 22.608 seconds
Complete requests: 1000
Failed requests: 6
(Connect: 0, Receive: 0, Length: 6, Exceptions: 0)
Write errors: 0
Non-2xx responses: 6
Total transferred: 5081774 bytes
HTML transferred: 4888744 bytes
Requests per second: 44.23 [#/sec] (mean)
Time per request: 226.083 [ms] (mean)
Time per request: 22.608 [ms] (mean, across all concurrent requests)
Transfer rate: 219.51 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 2 3 0.1 3 3
Processing: 27 223 385.7 182 8266
Waiting: 27 223 385.7 182 8265
Total: 30 226 385.7 184 8268

Percentage of the requests served within a certain time (ms)
50% 184
66% 200
75% 213
80% 222
90% 244
95% 255
98% 275
99% 2110
100% 8268 (longest request)




Удаленный с тюнингом:


ab -c 10 -n 1000 http://test1.ru:80/
This is ApacheBench, Version 2.3 <$Revision: 655654 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking test1.ru (be patient)



Completed 100 requests
Completed 200 requests
Completed 300 requests
Completed 400 requests
Completed 500 requests
Completed 600 requests
Completed 700 requests
Completed 800 requests
Completed 900 requests
Completed 1000 requests
Finished 1000 requests


Server Software: nginx
Server Hostname: test1.ru
Server Port: 80

Document Path: /
Document Length: 4915 bytes

Concurrency Level: 10
Time taken for tests: 21.550 seconds
Complete requests: 1000
Failed requests: 0
Write errors: 0
Total transferred: 5108000 bytes
HTML transferred: 4915000 bytes
Requests per second: 46.40 [#/sec] (mean)
Time per request: 215.504 [ms] (mean)
Time per request: 21.550 [ms] (mean, across all concurrent requests)
Transfer rate: 231.47 [Kbytes/sec] received

Connection Times (ms)
min mean[+/-sd] median max
Connect: 2 3 0.1 3 3
Processing: 109 212 33.9 213 291
Waiting: 109 212 33.9 212 290
Total: 112 215 33.9 215 293

Percentage of the requests served within a certain time (ms)
50% 215
66% 236
75% 246
80% 250
90% 259
95% 266
98% 273
99% 277
100% 293 (longest request)

вторник, 19 января 2010 г.

Инкрементальные бэкапы для ядра 2.6.27 / 2.6.32 (эксклюзивная версия!)

Я ранее уже упоминал в блоге замечательный патч от Matt Heaton http://www.mattheaton.com/?p=188, но теперь решил его портировать на 32е ядро и перевести документацию на русский.

Этот патч предоставляет информацию о всех измененных, вновь созданных или подвергшихся изменению прав посредством chmod файлах в системе. Таким образом, эти файлы могут быть забэкаплены без осуществления полного сканирования файловой системы и поиска изменившихся файлов (например, посредством программ rdiff-backup или rsync). Само резервное копирование не входит в задачи этого патча, он только предоставляет список файлов. Бэкап списка изменившихся файлов осуществляете уже Вы сами, это самая легкая часть задачи. Более сложную - формирование спсика изменившихся файлов - решает патч ядра.

В патче нету хеширования, сортировки или фильтрации дубликатов файлов. Это означает, что после того, как файл будет изменен и до того, как вы его забэкапите, он может изменится снова. Таким образом, вы вполне можете получить дубликаты файлов в логе изменений. Чтобы избежать ошибок в поведении бэкап скрипта просто удаляйте дубликаты в нем.

Чтобы использовать все эти замечательные возможности, необходимо применить следующий патч на исходники 2.6.27 ядра с kernel.org После этого у ядра появится два триггера, которые по-умолчанию отключены и система логирования изменившихся файлов не создает нагрузки на систему:


/proc/sys/fs/bh_logging_user
/proc/sys/fs/bh_logging_root


Чтобы включить логгирование, используйте следующие команды:

echo 1 > /proc/sys/fs/bh_logging_user
echo 1 > /proc/sys/fs/bh_logging_root


Либо же можно добавить следующие строки в файл:

vi /etc/sysctl.conf


fs.bh_logging_user=1
fs.bh_logging_root=1


После этого необходимо внести коррективы в файл /etc/syslog.conf, чтобы syslog принимал сообщения от ядра (как раз посредством них и будут передаваться измененные файлы) и сохранял их в лог:

kern.debug /var/log/modified


После этого, все измененные файлы будут отображаться в логе /var/log/modified.

UPDATE: самостоятельно перенес патч на 2.6.32.8 ядро, вот он, прошу: http://fastvps.googlecode.com/svn/trunk/patches/bluehost-backup-fastvps-edited-patch-2.6.32.diff

Вот мануал по накатываюнию патча на 2.6.32.8 ядро

cd /usr/src/linux-2.6.32.8
wget http://fastvps.googlecode.com/svn/trunk/patches/bluehost-backup-fastvps-edited-patch-2.6.32.diff
patch -p1 < bluehost-backup-fastvps-edited-patch-2.6.32.diff



В итоге должны увидеть нечто вот такое:
patching file fs/compat.c
patching file fs/dcache.c
patching file fs/namei.c
patching file fs/open.c
patching file fs/read_write.c
patching file include/linux/fs.h
patching file kernel/sysctl.c
patching file mm/mmap.c


Далее собираем ядро.

(с) http://www.mattheaton.com/?p=188

понедельник, 18 января 2010 г.

Если Вы верите в Green Hosting, то прочтите это

http://www.mattheaton.com/?p=98

Советы хостинг-компаниям от Matt Heaton

Рекомендую к прочтению всем представителям рынка хостинг-услуг: http://www.mattheaton.com/?p=101

CentOS Linux для шаред хостинга от Matt Heaton

Unfortunately, right now the answer is – With a GREAT DEAL of effort. I mentioned earlier that we use CentOS. This is a free rebranded version of Redhat Enterprise Linux which is a server class linux distribution. Meaning it is geared toward customers with a heavy server workload. The problem is the linux kernel they use in CentOS is SLOW, outdated, and certainly not tuned to our workload.


(c) http://www.mattheaton.com/?p=172

воскресенье, 17 января 2010 г.

Matt Heaton о непригодности CFQ для нагруженных хостинг-серверов

Линк: http://www.mattheaton.com/?p=222 Также он рекомендует для тестовых целей активировать опцию ядра sched_debug, которая позволит визуально оценить, как работает планировщик.

Также вот пожалуйста первоисточник: http://www.webhostingtalk.com/showthread.php?t=727173

вторник, 12 января 2010 г.

Любителям инноваций

А никто не заметил, что самый первый хостинг (шаред хостинг) был облачным (в контексте гибкости ресурсов, а не на тему заупска множества инстансов)? И он в те далекие времена при повышении нагрузки эластично выдавал много большие ресурсы сайту в случае необходимости и их наличия? EC2 говорите, да?

вторник, 22 декабря 2009 г.

Выбор ОС для хостинга: CentOS или Debian 5?

Довольно долгое время работаю с обоими ОС в основном в контексте
"хостинг-сервер". Раньше я склонялся к мнению, что лучше всего для
хостинг-серверов подходит CentOS 5 (т.к. все же это полноценный
"Enterprise" дистрибутив со всеми вытекающими), но сейчас уверенности
у меня поубавилось. Поэтому я постараюсь дать как можно более
объективное сравнение дистрибутивов как раз по качествам, которые в
первую очередь важны для хостинга.

Сравнение будет выполняться в следующем оснащении дистрибутивов:
Debian - только базовый репозиторий, CentOS - только базовый и Epel
репозитории (я бы его тоже отнес к "стандартным", т.к. работать в
CentOS без него почти невозможно).

Для начала давайте вспомним, что такое хостинг и из какого ПО он состоит.

Хостинговое ПО
Во-первых, это конечно же Apache, который выполняет львиную долю
работы на хостинге и является стандартом де-факто (по большей части
благодаря всеми любимому mod_rewite и .htaccess). Тут отличия найти
сложно, оба дистрибутива имеют 2.2 версию Apache и вполне стабильно
работают. Так что тут равноценно.

Кроме Апача для снижения нагрузки (и, к слову, в некоем роде защиты от
DoS при ограниченных ресурсах сервера) и раздачи статики часто
используется Nginx - актуальная версия в CentOS: 0.6.39, Debian:
0.6.32. К слову, обе эти версии имеют баг (он исправлен только в 0.7,
см. рассылку nginx-ru) при котором при усечении конфига nginx.conf
(проявляется такое, например, в довольно популярной панели ISPManager)
Nginx съедает всю памяти и система просто-напросто виснет. Так что тут
обоим минус и придется самому собирать пакет и ставить Nginx 0.7.

Для полноценного взаимодействия Nginx и Apache, т.е. для корректной
передачи IP бэкэнду необходим модуль Апача - rpaf, который
просматривает полученный от Nginx IP и передает его Апачу. Этот модуль
отсутствует даже в репозитории Epel CentOS`а (сейчас я его беру в
CentAlt), но в тоже время, в Debian он есть стандартно. Что также
добавляет преимуществ именно Debian`у.

Теперь о главном, о PHP, ведь это фактически причина использования
всего остального хостингового ПО, ибо подавляющее количество CMS
написано именно на нем (прощу прощения у любителей Python, Perl и
Ruby, а также других языков, но статистика потребительского шаред
хостинга говорит о тотальном количественном преимуществе PHP).

Тут-то и начинаются проблемы у CentOS, во-первых, на нем стоит PHP
5.1.6, а многое ПО (например, Magento - очень популярный веб-магазин)
требует именно 5.2 версию и если вы не хотите столкнуться с большим
числом жалоб от клиентов по причине неработоспособности скриптов, Вы
будете вынуждены либо подключать сторонние репозитории (которые мало
того, что не гарантируют стабильности ПО и корректности его сборки, а
в худшем случае - даже не отвечают требованиям безопасности и
надежности), либо собирать PHP 5.2 самостоятельно со всеми модулями
(что опять же сделать не так тривиально, учитывая число модулей в
репозиториях - в Debian это, например, около 50 штук). А если еще
вспомнить, что для PHP довольно часто выходят исправления
безопасности, то придется весь этот комплект оперативно патчить,
собирать в пакеты и разносить по серверами, то задача уже кажется
почти нерешаемой.

Также стоит упомянуть баг php-cgi в CentOS из-за которого он не читает
php.ini в текущей папке, когда он присутствует и все равно идет в
/etc/php.ini, что сильно мешает его работе в режиме php-fastcgi (в
Debian же с этим все ок). В Debian стоит 5.2.6 версия PHP с патчем
suhosin, который значительно увеличивает безопасность скриптов и
позволяет запускать почти все без исключения современные движки.

Далее пройдем по проприетарным модулям для PHP, которые используются
для защиты скриптов - это Zend Optimizer и IonCube. Что первый, что
второй поставляются в сборках и под PHP 5.1 и под 5.2. Так что и с
ними никаких проблем не будет.

MySQL, оба дистрибутива содержат 5.0 версию со всеми необходимыми
опциями. Стабильной же (по мнению Sun Microsystems) является 5.1, но
ни в одном дистрибутиве ее еще "не признали" по-настоящему стабильной
да и ПО, которое требует только 5.1 версию я не видел еще ни разу.

Postfix, Exim, Sendmail - все три почтовика представлены в обоих
дистрибутивах. Причем, к слову, postfix-mysql находится в стандартном
репо Debian, в то время как в CentOS он ставится весьма нетривиально,
но это лишь опция и в явные преимущества записывать не будем.

Теперь поговорим о версиях хостинговой экзотики - Perl, Python и Ruby.
В CentOS присутствует только 2.4 версия языка, а в Debian 2.5, так
что для любителей новых возможностей тут, пожалуй выбор однозначный. С
Ruby выбор чуть побольше - в Debian присутствует и 1.8 и 1.9 версии, а
в CentOS только 1.8.5. Perl же в Debian самой модной версии - 5.10, в
CentOS же проверенный временем (и лингвистами :) 5.8.8.

Управление ПО: установка и обновление
Тут у обоих дистрибутивов дела обстоят довольно хорошо, как я уже
говорил выше, для CentOS существует отличный сторонний репозиторий со
многими необходимыми пакетами - Epel (является частью проекта Fedora),
а у Debian даже без дополнительных репозиториев выбор пакетов очень
большой. Для установки и обновления программ в CentOS используется
YUM, отличающийся относительно неэкономным отношением к памяти, но при
этом он не заваливает пользователя вопросами о конфигурации пакетов,
как это делает пакетный менеджер Debian - apt-get.

Различные способы запуска ОС
По поводу работы на "чистом железе" (выделенный, dedicated сервер либо
colocation) стоит отдать предпочтение все же Debian, т.к. у него ядро
новее, чем у CentOS (да, Вы можете возразить, что RH оперативно
бэкпортит поддержку оборудования, но все же мой опыт говорит о том,
что с Debian при работе на железе проблем намного меньше, чем c
CentOS).

Отдельным пунктом, думаю, стоит отметить стабильность работы в
виртуальных окружениях OpenVZ и Xen. Оба дистрибутива работают отлично
и каких-либо нареканий и проблем не имеют, что очень важно, учитывая
популярность VPS хостингов и Cloud платформ (например, Amazon EC2).

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

P.S. статья была попыткой получить инвайт на Хабр, неудачной попыткой - отклонили :) Так что выкладываю здесь :)