Pull to refresh

Comments 160

ab чтоли на него натравить...? :)
Энто тот самый Хабраэффект. Заодно проверим как ваш ВПС настроен :)
натравить всем хабром ab? жестоко-с
по уму бан должен быть секунды за две
Мне тут понадобилось потестировать отдачу статики с диска. ab умеет только один урл запрашивать (я могу и внутри урла генерировать случайный X-Accel-Redirect, но сначала не стал) — решил попробовать siege, у него такая вещь есть. Итого:

— тест на 1 файл, отдаваемый из файлового кэша — siege на полпорядка медленее
— при попытке прочитать 6МБ файл с урлами для перебора — съел гиг оперативы и был убит.

Так что siege неюзабелен по моему мнению. Почему его тогда так любят?)
За попытку эмуляции обычных посетителей
Так не может он! 6МБ урлов — это много? Из них же не надо в памяти сложные стуртуры строить.
Надо бы накатать статейку со сравнением траффика от ab и от siege
здесь без выхода на главную Хабра не обойтись
Ну всё, на главной. Держитесь :)
Хм… А откуда я вчера взял ссылку на этот сайт, на серию постов о поездке в ЮАР? Свою лепту внёс =) прочитал сам и прорекламировал среди друзей. Успеха!
ооо, автотуристу популяризируется… Спасибо)
Поставил автообновление страницы раз в 5 секунд.
500 Internal Server Error
посмотри по логам, это скорее всего тебя через ab кто то DoSит
и топик перенеси в коллективный блог, иначе на главную не выйдет
сделай: tail -f файл_с_лог_nginx -n 100
и посмотри с какого IP сыпятся запросы
напрягается?
92.47 idle = простой.
максимальная нагрузка была 78.80.
а вот раз iowait был уже 11.25… то винты не поспевают…
Да, верно
Снял в apache обработку .htaccess, убрал access логи, error только crit
Посмотрим как сейчас
У меня стало нормально грузить. Даже не виснет я бы сказал.
А зачем apache? По-моему для такой задачи, уж тем более на VPS, связка nginx+php-fpm — то, что доктор прописал.
Потому что nginx+php-fpm уже не интересен — изучен вдоль и поперек
а что используете? lightspeed sapi?
Сейчас стоит классический apache2 prefork. Смотрю как он себя ведет.
ну опыты над мертвыми некрасиво проводить )
хоть lightspeed и платный, но у него есть бесплатный проприетарный аналог с ограничениями. сейчас некто dreamcat4 думает над портированием lightspeed sapi для PHP на nginx.
p.s. ответь в личку.
Было интересно об этом поподробнее
Сначало вылетело

Warning: require_once(/var/www//classes/lib/external/Smarty-2.6.19/libs/Smarty.class.php) [function.require-once]: failed to open stream: Cannot allocate memory in /var/www/classes/modules/sys_viewer/Viewer.class.php on line 18

Fatal error: require_once() [function.require]: Failed opening required '/var/www//classes/lib/external/Smarty-2.6.19/libs/Smarty.class.php' (include_path='.:/usr/share/php:/usr/share/pear:/var/www:/var/www/classes/engine:/var/www/classes/lib/external/DklabCache:/var/www/classes/modules/user') in /var/www/classes/modules/sys_viewer/Viewer.class.php on line 18

Потом вылетело

500 Internal Server Error
nginx/0.6.32

Загрузился с 4-го раза но ооооооочень медленно =((((
А эта страница www.avtoturistu.ru/munin/localdomain/localhost.localdomain.html вылетела с:

Forbidden

You don't have permission to access /munin/localdomain/localhost.localdomain.html on this server.
Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny3 with Suhosin-Patch Server at www.avtoturistu.ru Port 8080

Потом таки медленно загрузилось… эх, бедный процессор…
500 Internal Server Error

nginx/0.6.32

готово. ~14:25 по мск.

Всё в рамках тестирования.
В плюсики запишем то, что поднялось буквально спустя 20 секунд после того, как я отвернулся от сайта) Обычному LAMP требуется обычно несколько минут.
то есть над количеством подключений с одного IP стоит всё таки поработать)
Смысл не в ограничении, а в том, чтоб отыскать все узкие места
ну тогда узкое место — то что ~1200 siege эмуляций валят апач. (а это каких то 256 мегабайт оперативной памяти… )

а ~20к — так и сам nginx свалят.
Меня все-таки интересуют больше живые люди на сайты, чем боты. Ради этого все и затевалось.
так там на бэкэнде стоит Апач, он и падает
При реге

Warning: require_once(mapper/Seo.mapper.class.php) [function.require-once]: failed to open stream: Cannot allocate memory in /var/www/classes/modules/seo/Seo.class.php on line 19

Fatal error: require_once() [function.require]: Failed opening required 'mapper/Seo.mapper.class.php' (include_path='.:/usr/share/php:/usr/share/pear:/var/www:/var/www/classes/engine:/var/www/classes/lib/external/DklabCache:/var/www/classes/modules/user:/var/www/classes/modules/blog:/var/www/classes/modules/talk:/var/www/classes/modules/seo') in /var/www/classes/modules/seo/Seo.class.php on line 19
Но, вижу, Вы зарегились?! Т.е. пропало потом?
после F5 сказало что я уже зареган!
Могли бы и живую статистику в пост повесить =)
Кроме того, очень скоро вас объявят jpg-еретиком, и приложат вот эту картинку:
Спасибо, ознакомился… Я слышал о нём нехорошие отзывы, но Ort — автор LiveStreet — держит портал на нём и, вроде, тьфу-тьфу. Т.е., видимо, как повезёт?
Юзаю VDS от RuWeb. Все устраивает. Работает стабильно. Саппорт более чем адекватный.
Не обижайте меня. Мои VPS и РБК — это две большие разницы.
можно поподробнее от твоих ВПС? в плане параметров
Параметры мало что говорят, например знать сколько лошадиных сил в Ладе и БМВ, это сильно повлияет на качество езды?
Просто я 3 года занимался построением кластерных систем с виртуализацией, или как их сейчас модно называть — облачных решений.
По этому я выбрал оптимальный сервер под VPS и настраиваю их оптимальным образом.

И да, у меня есть секрет — никакого оверселлинга.
знание лошадей повлияет на скорость, а знание марок повлияет на качество/комфорт, а вот не знание ни того ни другого ни на что не повлияет.

хотелось бы узнать, что собственно мы тестируем, кроме аббревиатуры ВПС
Одно ядро от QuadCore 2,4 512Mb RAM, дисковый массив на SAS RAID1+0
Лимитирую только RAM
Цену огласите или в личку напишите.
Сколько стоит у тебя ВПС?
И где географически он может быть размещён?
Пока не вижу связи между «выбрал оптимальный сервер» и «3 года занимался построением кластерных систем с виртуализацией».
Т.е. серверов всё-таки много?
С теми которыми работаю — много
Тот, который купил сам — один
Извините, если обидел. В топике зашел разговор про VPS от РБК. Захотелось добавить капельку вселенской злости :)
Собственный бюджетный сервер :)
Каков, ежели не секрет, бюджет (железо)? И, если уж совсем не секрет, конфа какая?
Сервер — HP ProLiant DL140 G2. Достался «в награду». Хватает за глаза и за уши :)
И уж совсем нескромно спрошу, а какой ресурс на нём вертится?
хехе, как приятно встретить еще кого-то с таким же сервером :)
P.S.
оффтопик никто не знает колакешен к Красноярске? Так чтоб к KRS-IX был подключен.
кстати, если есть отчет munin самого сервера (VZ host), то было бы не лишним на них посмотреть.
вы комментом не промахнулись? :)
UFO just landed and posted this here
UFO just landed and posted this here
UFO just landed and posted this here
4) там стоит мемкеш как раз
В данном случае меня интересует именно apache, так как связку nginx+php-fpm я уже отточил на drupal.
Fatal error: Uncaught exception 'Exception' with message 'Не найден класс модуля — Viewer' in /var/www/classes/engine/Engine.class.php:95 Stack trace: #0 /var/www/classes/engine/Engine.class.php(183): Engine->LoadModule('Viewer', true) #1 /var/www/classes/engine/Module.class.php(37): Engine->_CallModule('Viewer_Assign', Array) #2 [internal function]: Module->__call('Viewer_Assign', Array) #3 /var/www/classes/modules/sys_lang/Lang.class.php(53): LsLang->Viewer_Assign('aLang', Array) #4 /var/www/classes/modules/sys_lang/Lang.class.php(32): LsLang->InitLang() #5 /var/www/classes/engine/Engine.class.php(68): LsLang->Init() #6 /var/www/classes/engine/Router.class.php(100): Engine->InitModules() #7 /var/www/index.php(31): Router->Exec() #8 {main} thrown in /var/www/classes/engine/Engine.class.php on line 95
да!
но имхо…
1) VPS на OpenVZ что следует из venet0.
2) Для VPS выделили все ресурсы сервера и он начал летать.
3) Аффтар обрадовался и решил, что ему море по колено.
4) Ресурсов сервера стало нехватать.
5)…
6) NO_PROFIT!
О. Сайт открылся. Хороший ресурс. Сам лично 11 тыс. км по европе за 2.5 недели прокатил. Незабываемо.
Единомышленник! Я лично по Норвегии тока в том году покатался отменно, а вот там отчёт у меня про то, как из Сибири сперва по Африке дядя катался, а теперь из Аргентины едет в Канаду всё на той же Тойоте)
увы отчет еще не написал. слишком много впечатлений, а времени для отчета все не найду. но часть фото можно посмотреть здесь
эх… держись сервер =)
)) Ну тогда жду Вас с огромным удовольствием в наших рядах!

P.S. Скоро грядёт новый дизайн — всё будет покрасивее малость)
Посмотрел фото — клёво, но, батенька, без отчёта никуда; ничего не понять: что, где, почём?..
вряд ли ему накинули ресурсов, скорее ДоСер ходил отобедать, сейчас вернулся

интересно вообще узнать, падает от юзеров или от seig и ab?
Ну зачем клеветать? На VPS 512Mb, а не 5G, которые сейчас свободные на сервере
И ядро там всего одно

Ресурсов хватает, просто ими надо грамотно рулить, что я и делаю сейчас
А вот подробности желательно было сразу написать. Кто ж знает что там и как… Надеюсь после хабраэффекта опишите. Сам держу небольшой сервис по предоставлению OpenVZ VPS. Интерестно будет опыта понабраться.
Обязательно
Причем это будет тот случай, когда нужен именно apache, и его по каким-то причинам нельзя менять на более легкий вебсервер
какие причины? lightspeed отлично кушает .htaccess. других причин оставаться на apache не вижу.
Апач — это либо конфигурироемость пользователем (+всякие обёртки над пхп для исполнения под конкретным uid), либо специфические модули. Если первое — лайти подойдёт, но тут уж лучше nginx+php-fpm, имхо. А во 2м — никуда не деться.
.htaccess как раз не проблема
Существует куча модов для апача, в том числе и самописных, благодаря которым просто так сайт не перенести
помогаю ;)
500 Internal Server Error
nginx/0.6.32
следующее обновление страницы — загрузился, перешёл в статью.
oops Notice: MemcachePool::set() [memcachepool.set]: send of 32768 bytes failed with errno=11 Resource temporarily unavailable in /var/www/classes/lib/external/DklabCache/Zend/Cache/Backend/Memcached.php on line 175
ну хотя бы нотисы-то скрывать надо
Я ожидал увидеть подробности настройки…
А в статье — одни впечатления :-)
Настройка еще не окончена — она идет прямо сейчас
>помог:
>…
>б) Сделать из «ВАЗ-2106» Хонду CR-V
я уж подумал вы заработали баблосы с помощью хабра )))
Готов порвать этот VDS на своём атоме за который плачу 30$ в месяц ;-)
Ок, Вы — на apache и без memcache, а я — на nginx+php-fpm и с memcacne
Посмотрим кто кого ;)
А так. Я могу многие cms, такие как wp,drupal,livestreet пускать на nginx+php-fpm без апача.
Эт почему? И с nginx, и с memcache. Только на MySQL 2Гб памяти, а так все такое-же :-)
a там есть ещё атомы по 30$?
Навалом, покупаете — приносите, телемаркет :-)
не понял. вы платите 30$ за аренду сервера или места в стойке?
Бздыщ:
Warning: require_once(/var/www//classes/lib/external/DklabCache/config.php) [function.require-once]: failed to open stream: Cannot allocate memory in /var/www/classes/modules/sys_cache/Cache.class.php on line 18

Fatal error: require_once() [function.require]: Failed opening required '/var/www//classes/lib/external/DklabCache/config.php' (include_path='.:/usr/share/php:/usr/share/pear:/var/www:/var/www/classes/engine') in /var/www/classes/modules/sys_cache/Cache.class.php on line 18
/usr/local/apache/bin/ab -c 200 -t 300 -n 200000 'http://www.avtoturistu.ru/page/trassy'

Посмотрим, посмотрим, хе-хе))
Я ради любви к искусству) Если бы не любил сайт — там было бы не -t 300)
люблю добрых :)
суда по этому — 500 Internal Server Error — да
Я не про то, я про выдачу — сколько успешных и сколько с ошибкой
Benchmarking www.avtoturistu.ru (be patient)
Finished 7255 requests
Server Software:        nginx/0.6.32
Server Hostname:        www.avtoturistu.ru
Server Port:            80

Document Path:          /page/trassy
Document Length:        193 bytes

Concurrency Level:      200
Time taken for tests:   300.104 seconds
Complete requests:      7255
Failed requests:        6819
   (Connect: 0, Length: 6819, Exceptions: 0)
Broken pipe errors:     0
Non-2xx responses:      596
Total transferred:      112298400 bytes
HTML transferred:       109603592 bytes
Requests per second:    24.17 [#/sec] (mean)
Time per request:       8273.03 [ms] (mean)
Time per request:       41.37 [ms] (mean, across all concurrent requests)
Transfer rate:          374.20 [Kbytes/sec] received

Connnection Times (ms)
              min  mean[±sd] median   max
Connect:       23   294  957.0     23  9496
Processing:    47  7246 6284.1   3668 126392
Waiting:       23  7245 6284.1   3667 126391
Total:         47  7540 6265.4   3799 135887

Percentage of the requests served within a certain time (ms)
  50%   3798
  66%   6226
  75%   7169
  80%   8777
  90%  13697
  95%  24762
  98%  51959
  99%  66070
 100%  135887 (last request)
По результатам, примерно так:
апач ограничен правильно, раз не выжирает память и не уходит в своп
но страницы генерируются черезвычайно медленно (отдаются, надеюсь, nginx'ом и быстро)
Time per request: 8273.03 [ms] (mean)
Кэширование (nginx'ом) для неавторизированных пользователей страниц сильно бы помогла.

И вопрос — почему на графиках interrupts не видно?
Про прерывания — вероятно потому, что OVZ не предоставляет такую информацию в контейнерах
PS: обновите/пропатчите nginx, он у меня эксплоитом на последнюю уязвимость валится.
Обновил, в Debain вроде в репозитарии уже патченный лежит
Да, теперь как выдаёт, как и должен, HTTP/1.1 400 Bad Request на эксплоит
+1 за debian. у самого такой работает. подумываю на 64 бит переходить, но это сложновато на production с 10 пользователями. с одной стороны работает и ладно, с другой «а вдруг быстрее».
все пучек, погулял по сайту — все работает
даа… сайт тупо упал из за простого AB
Судя по статистике MySQL, почти 2/3 он берёт из кэша, а, значит, запросы слишком однотипны. Нападайте на тэги и прочие неприметные уголки, зачем так прямолинейно? =)
Тогда это будет тест базы, а не веб-сервера. А база обычно кладётся поисковыми запросами — мало кто защищается заранее. В общем, чуть другое направление.
Ну, протестировать, насколько я понял, хочется всё в целом, хоть апачу и уделяется особенное внимание. Владелец сервера упоминал, что ему интересны реальные посетители. А реальные обычно хоть разок да по ссылке пройдут, а то и зарегистрируются =)
Абсолютно верно, интересует как раз эффект от реальных людей
Тут уже разные урлы генерить надо. У ab с этим беда :(
Так ненадо долбить ab — просто зайдите, посмотрите
А еще лучше — напишите пару комментариев, ведь это тоже будет нагрузка
Берётся прикидка «юзер смотрит на нашем сайте одну страницу в течение полутора минут». Гугль аналитикс вроде бы даёт точную цифру. Дальше, будем считать приемлимым, если 90% юзерей будут обслужены за 2 секунды. Берётся ab и подбирается количество потоков, которые влезают в этот отклик. Я бы оценил в ~30 потоков, исходя из моей статистики на 200. Т.е. у нас есть 30 rps и один юзер генерирует 0.0(1) rps. Итого, сайт держит (оценка сверху) ~3k онлайн. Неплохо. И ничего, кроме ab и аналитики. Эта оценка потом понижается за счёт отдельных медленных страниц — но их время отклика (и нагрузка на сервер) мереется тем же ab.

ab — это очень мощный инструмент, который надо правильно использовать. Любая заданная нагрузка на любое время. Есть некоторые области, которые им мерить неудобно/невозможно — но не приведённый сайт.
Аналитика хорошо, а реальное тестирование — лучше
Сайт лежит.
А когда работал, заметил, что в ИЕ7 (на работе) правая колонка убежала вниз.
Небольшой офтоп:
у Вас почему-то ссылки «Все» и «Хорошие» одинаковые — это неправильно.
Наверное, лучше заменть «Все» на что-нибудь типа «Посты» как на хабре…
спасибо за совет. на самом деле готов новый диз и он ждёт вёрстки и прикрутки, так что скоро, скоро уже всё кардинально поменяется)
А конфигами не поделитесь? :)
У меня сайт на ВПС дохнет, а ума на конфигурацию не хватает
Хороший конфиг предполагает тюнинг под конкретное железо, код конкретный контейнер, под конкретные особенности сайта. Некоего общего для всех «хорошего» конфига нет и быть не может — иначе разработчики софта заведомо хорошие опции сделали бы дефолтными.

А статей с общими рекомендациями по настройке всего и вся уже море есть. Вся закавыка в том, что их придётся читать и разбираться. А банально «скопировать файлик» не выйдет :)
да, осталось еще пару топиков, как люди сайты с помощью Web Optimizer разгоняли — будет полный бронебойный комплект :)
ага, только у WO стабильности работоспособности в паре с LiveStreet добавить :)
ну, для этого нужны добровольцы, которым это нужно. На тестовой машинке все ок.
У меня такое ощущение, что все либо руками подкручивают, либо колются и плачут, как ежики )
Я правильно понимаю, что график с реальной системы? И в пике — 2.5 мбита?

«Туркменские ученые доказали, что туркмены изобрели писменность. Правда, остальные народы в это время строили компьютеры и летали в космос» (с)
10М в пике и 10 qps в базу?

Серьезная нагрузка, чо.
Жаль, что скоро, наверное, перееду я от Андрея на, вроде как, выбранный уже хостинг от RBC. AntonVolkov, а в чем тогда собственно смысл эксперимента? Просто потестировать VPS? Почему не остался у Andrey_Rogovsky? Тоже ищу VPS… но что то 50$ в месяц дороговато, знаю что дешево и хорошо не бывает… хотел truevds 20 брать, да прочитал твой топик на LS… вот теперь сюда зашел. Почему решил на RBK решил, ведь может как говорят «не повезти»?
Я на месяц пока взял, тестю… Вроде, тьфу-тьфу, пока дышит www.avtoturistu.ru/munin/localdomain/localhost.localdomain.html

У Андрея бы остался с удовольствием, но у него класс предоставляемых VPS несколько выше, чем мои (пока-что) потребности и, соотв., несколько подороже…
Как дела с RBC сейчас? Много настраивали и какой тариф выбрали?
Приветствую!
Андрей Роговский настроил всё 1 в 1 как и на его ВПС было.
Своими ручонками туда не лажу и… Тьфу-тьфу, живёт. У РБК НА УДИВЛЕНИЕ быстрый и качественный саппорт. Всё пока устраивает.
VPS-1 — не будет слишком мелким? Или можно взять для начала? :)
Я взял ВПС-2, подстраховался, ибо 256 ОЗУ — маловато…
Pardon'te, tak i est'. Eto u menja u drugogo hostera tarif ***-2, vot i sputal. U menja VPS-1 — rabotaet normal'no, tol'ko pochemu-to nablyudayutsja periodicheskie vypady VPS'a v damp (na nesk. minut pochti ezhednevno). Budem iskat' prichiny v error-logah.
Спасибо :) Скоро переезжаю на этот самый VPS-1
Нет, может не надо??! У меня тут проблемы пошли. Долго рассказывать, но вкратце (http://avtoturistu.ru/munin/localdomain/localhost.localdomain.html):

постоянно в error логах ngnix'a следующее

2009/11/27 11:21:06 [error] 23671#0: *351724 upstream timed out (110: Connection timed out) while sending request to upstream, client: 92.100.28.3, server: 3938.ovz26.hc.ru, request: «GET /blog/449.html HTTP/1.1», upstream: «127.0.0.1:8080/blog/449.html», host: «www.avtoturistu.ru», referrer: «mail.google.com/mail/?ui=2&view=bsp&ver=1qygpcgurkovy»

Настройки все как и у Андрея на VPS'e, всё тип-топ. Крутил-вертел, звоню в саппорт мин. 10 назад — сказали, что в момент «отваливания» моего vps на сервере были перегружены диски. Посмотрю, если будет повторяться, то попрошусь перевести меня на другой сервер. Если не поможет, то снова буду «холостым» в поисках хостинга…

Не думал, не думал, что так будет…
Спасибо. Буду в таком случаи следить за тем что происходит с вами. Как вариант ещё был у меня TrueVDS.
WinSCP кстати можно подружить с FAR при помощи плагина. Ну и Colorer заодно поставить для раскраски кода. Для быстрых правок на сервере — лучший вариант.
Sign up to leave a comment.

Articles