20 августа 2009 в 17:47

Выбор хостинга для LiveStreet: на повестке дня TrueVDS.ru

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

Пару дней назад я говорил, что перешёл на ганди.нет, где тестировал разный софт. К сожалению, тесты не сохранились и в заметке я ограничился описанием установки софта под FreeBSD.

Совершенно неожиданно мне поступило предложение от TrueVDS.ru написать инструкцию по установке софта под Дебиан для новичков и протестировать некоторые тарифные планы. Инструкцию и тесты решил разбить на два поста, т.к. кому-то интересно одно, кому-то другое, а текста получилось многовато, тяжело для восприятия. Установка софта под Дебиан тут,

Начнём тестирование со второй линейки тарифов True20, т.к. в первой линейки крайне мало памяти и втулить туда eaccelerator и memcache проблематично.

True20 — 480 MHz / 256 Mb


nginx + php-cgi + mysql:


siege с настройками: 10 человек атакуют сайт в течение 1 часа в режиме имитации интернета:

Transactions: 18514 hits
Availability: 100.00 %
Elapsed time: 3600.05 secs
Data transferred: 211.42 MB
Response time: 1.43 secs
Transaction rate: 5.14 trans/sec
Throughput: 0.06 MB/sec
Concurrency: 7.33
Successful transactions: 18514
Failed transactions: 0
Longest transaction: 6.87
Shortest transaction: 0.02


nginx + php-cgi + mysql + eaccelerator:


siege — настройки те же: 10 чел, 1 час.

Transactions: 53616 hits
Availability: 100.00 %
Elapsed time: 3602.28 secs
Data transferred: 611.88 MB
Response time: 0.16 secs
Transaction rate: 14.88 trans/sec
Throughput: 0.17 MB/sec
Concurrency: 2.38
Successful transactions: 53616
Failed transactions: 0
Longest transaction: 1.80
Shortest transaction: 0.00


nginx + php-cgi + mysql + eaccelerator + memcache:


siege — 10 чел, 1 час.

Transactions: 54468 hits
Availability: 100.00 %
Elapsed time: 3602.58 secs
Data transferred: 622.92 MB
Response time: 0.14 secs
Transaction rate: 15.12 trans/sec
Throughput: 0.17 MB/sec
Concurrency: 2.12
Successful transactions: 54468
Failed transactions: 0
Longest transaction: 1.48
Shortest transaction: 0.00


Для сравнения хочу предложить протестировать идентичную связку, настроенную на одной шаре (1 share) у ганди.нет. Ганди — хороший хостинг, спору нет. Но они лукавят. Здесь написано:
Processor: 1/60th dedicated resources of a quadri Quad Core AMD + 1/60th on reserve

Quad AMD quad-core — это в сумме 16 ядер. Если 1 share — это 1/60, то это будет ~27% ядра. Грубо соотнеся одно их ядро с интеловским ядром 2.5 GHz, 1/4 от ядра будет около 650 MHz против 480 MHz у truevds. Памяти одинаково — 256Mb. Siege с теми же настройками — 10 чел и 1 час. Смотрим:

Transactions: 44040 hits
Availability: 100.00 %
Elapsed time: 3601.48 secs
Data transferred: 127.84 MB
Response time: 0.30 secs
Transaction rate: 12.23 trans/sec
Throughput: 0.04 MB/sec
Concurrency: 3.69
Successful transactions: 44040
Failed transactions: 0
Longest transaction: 5.62
Shortest transaction: 0.01


Ганди с более мощным процессором проиграл. В чём же дело? Смотрим, какой процессор стоит на самом деле:
/proc/cpuinfo

И видим:
model name: Dual-Core AMD Opteron(tm) Processor 8218

Выходит, что процессор не 4-х, а 2-х ядерный. :( Выводы делайте сами.

Переходим к тяжелой артиллерии. Линейка тарифов True30 начинается с 1280 MHz и 1024 Mb памяти. Его и пощупаем:

True30 — 1280 MHz / 1024 Mb


nginx + php-cgi + mysql:


siege — 10 чел, 1 час.

Transactions: 44928 hits
Availability: 100.00 %
Elapsed time: 3601.14 secs
Data transferred: 138.96 MB
Response time: 0.28 secs
Transaction rate: 12.48 trans/sec
Throughput: 0.04 MB/sec
Concurrency: 3.55
Successful transactions: 44928
Failed transactions: 0
Longest transaction: 1.62
Shortest transaction: 0.02


nginx + php-cgi + mysql + eaccelerator:


siege — 10 чел, 1 час.

Transactions: 67614 hits
Availability: 100.00 %
Elapsed time: 3602.52 secs
Data transferred: 209.88 MB
Response time: 0.03 secs
Transaction rate: 18.77 trans/sec
Throughput: 0.06 MB/sec
Concurrency: 0.53
Successful transactions: 67614
Failed transactions: 0
Longest transaction: 0.59
Shortest transaction: 0.00


nginx + php-cgi + mysql + eaccelerator + memcache:


siege — 10 чел, 1 час.

Transactions: 68898 hits
Availability: 100.00 %
Elapsed time: 3599.58 secs
Data transferred: 214.80 MB
Response time: 0.03 secs
Transaction rate: 19.14 trans/sec
Throughput: 0.06 MB/sec
Concurrency: 0.55
Successful transactions: 68898
Failed transactions: 0
Longest transaction: 0.49
Shortest transaction: 0.00


nginx + php-cgi + mysql + eaccelerator + memcache:


siege — 30 чел, 1 час.

Transactions: 137886 hits
Availability: 100.00 %
Elapsed time: 3602.16 secs
Data transferred: 428.58 MB
Response time: 0.28 secs
Transaction rate: 38.28 trans/sec
Throughput: 0.12 MB/sec
Concurrency: 10.76
Successful transactions: 137886
Failed transactions: 0
Longest transaction: 1.29
Shortest transaction: 0.00


ИТОГО


На мой взгляд, true20 вполне достаточно для комфортной работы на LiveStreet. Если посещаемость будет расти так, что «забьет» этот тариф — есть старшие братья.

True30 же способен держать неплохие нагрузки. Если еще оптимизировать софт: mysql, memcache и eaccelerator, то результаты будут еще лучше.
Александръ @skachko
карма
83,7
рейтинг 0,0
Похожие публикации
Самое читаемое Разработка

Комментарии (48)

  • +1
    Приятно когда приводятся вполне конкретные цифры на вполне определенных конфигурациях. Имхо, зачастую этого не хватает не только в рунете.
  • 0
    было бы интересно посмотреть на параметры запуска siege, в частности использовался ли параметр -b. Если нет, то посмотреть результаты с ним
    • 0
      php-cgi поставил 10 процессов, остальное без изменений.

      Конфигурация SIEGE:
      version: 2.66
      verbose: true
      debug: false
      protocol: HTTP/1.1
      connection: close
      concurrent users: 10
      time to run: 3600 seconds
      repetitions: n/a
      socket timeout: 30
      delay: 0 sec
      internet simulation: true
      benchmark mode: true
      failures until abort: 1024
      named URL: none
      URLs file: /etc/siege/urls.txt
      logging: false
      log file: /var/siege.log
      resource file: /etc/siege/siegerc
      allow redirects: true
      allow zero byte data: true
      allow chunked encoding: true
      proxy auth:
      www auth:

      True20: 480 MHz / 256 Mb;
      nginx + php-cgi + mysql + eaccelerator + memcache:


      Transactions: 56358 hits
      Availability: 100.00 %
      Elapsed time: 3600.54 secs
      Data transferred: 172.68 MB
      Response time: 0.64 secs
      Transaction rate: 15.65 trans/sec
      Throughput: 0.05 MB/sec
      Concurrency: 9.95
      Successful transactions: 56358
      Failed transactions: 0
      Longest transaction: 5.67
      Shortest transaction: 0.00


      True30: 1280 MHz / 1024 Mb;
      nginx + php-cgi + mysql + eaccelerator + memcache:


      Transactions: 135612 hits
      Availability: 100.00 %
      Elapsed time: 3599.74 secs
      Data transferred: 421.14 MB
      Response time: 0.26 secs
      Transaction rate: 37.68 trans/sec
      Throughput: 0.12 MB/sec
      Concurrency: 9.97
      Successful transactions: 135612
      Failed transactions: 0
      Longest transaction: 2.37
      Shortest transaction: 0.00
  • 0
    а че так последний пример просел? не выясняли?
    • 0
      Нагрузка в 30 человек вместо десяти.
      • 0
        я заметил :) а скорость в 10 раз уменьшилась
        • 0
          При такой нагрузке уж пора систему тюнить. Я ничего не делал — все настройки по дефолту. Единственное, что я дал eaccelerator'у 256мб под кэш. Подозреваю, что можно попробовать увеличить число php-cgi процессов, чтобы они не «толкались». :) Ну и mysql у меня с дефолтным конфигом. Для такой нагрузки, думаю, можно уже им заняться.
  • +2
    кстати, по личному опыту использование eaccelerator для работы с кешем (там есть апи) вместо мемкеша дает очень приличный профит при отсутсвии необходимости в масштабировании и не гигабайтных объемах кеша… ну естественно с хранением в шаред — профит за счет гараздо меньшего оверхеда
  • +4
    TrueVDS — кидалы. Заблокировали аккаунт без причины, даже не предупредив.

    Написал им письмо, сказали, что некая Служба Безопасности вмешалась в работу, пообещали всё восстановить через 2 дня. Прошла неделя — тишина. Написал им еще раз — игнор. Дублировал письмо 2 раза — результата нет.

    Самое обидное, что даже исходники мне не отдали.
    Бекап у меня, слава богу, был, но старый.
    • +2
      *Внутренняя Служба Безопасности

      Цель была проверка исходников подозрительный скриптов — как-то так. Видимо, рыться в чужом исходном коде без какого-то либо на это разрешения для них норма.

      Чем они им показались подозрительны и почему они начали меня игнорировать я не знаю. Пусть это останется на их совести. У меня было всё абсолютно легально и удовлетворяло их правилам.

      Но если не брать в расчет этот инцидент, то качество их услуг мне весьма понравилось.
      • +1
        А что за скрипт и что он делает?
        • 0
          Собирал статистику для себя с одного сайта.

          Скрипт:
          Парсёр, делает 10 внешних запросов в минуту.
          Информация складывается в БД.
          Из БД информация никуда не выводится.
          • +1
            вполне нормальная практика.
            могли бы просто снести :)
            на нас иногда наваливаются некоторые имбицилы, с целью тырить контент…
            стукнишь хостеру или noc`у в саппорт на эту тему — прекращают.
            а в последнее время просто сами стали отдавать всякие приколюхи вместо контента для таких сборщиков :)
      • +2
        Вот для того и нужен личный сервер ) Там порыться в исходниках без знания рута сложнее )
    • +5
      Как заинтересованное лицо приведу дополнительные факты:
      1. Вы взяли на бесплатное тестирование один из самых дорогих тарифов
      2. Сразу же начали сливать на 50 mbps персональные страницы с известного портала, администрация которого была этим обеспокоена
      3. Через несколько часов вас заблокировали
  • +1
    К TrueVDS перешел пару месяцев назад с ruweb.net (из-за двухчасового простоя, в остальном все устраивало) из-за гарантии аптайма 99.5% и чуть менее низких цен. Хостер замечательный, но только 2 вещи оставили в недоумении:
    1) Нет вообще никакого биллинга, оплата производится путем прямого перевода на кошелек и написанием в саппорт
    2) Ядро FreeBSD было собрано без поддержки ipfw
    • 0
      1) Хостер, как я понимаю, молодой. Ещё не написали биллинг, видимо.
      2) Спасибо, что сказали. www.lissyara.su/?id=1127
    • 0
      1) Так как все одновременно сделать невозможно, в первую очередь делаем самое важное — саму услугу, стабильность работы, производительность работы, расширение функциональности.

      2) По умолчанию устанавливается ядро GENERIC, в нем ipfw есть. Правда, отдельным модулем, который нужно загружать.
    • –2
      3) Панелька за деньги
      4) Круглосуточный суппорт за деньги
      5) Унмеджмент.
      • 0
        Разве это проблема для стабильно работающего VDS?
        • 0
          Проблема. trust me
          Если ему работать не месяц, а годы — огромная.
          • 0
            Мы, наверное, немного о разном. Для меня VDS это вещь из разряда: терпеливо настроил ручками и забыл (пусть себе работает). Первое исключает потребность в панельке, а второе («забыл») — предусматривает что ладный VDS будет шуршать без необходимости ребутов, а сюппорт должен самостоятельно следить за тем, чтобы хост-машина всегда была живой и здоровой.

            Я сам трижды не гуру в системном администрировании, но пока самостоятельно не научился поднимать и настраивать под свои нужды LAMP — не рисковал брать VPS`ы, а покупал как раз виртуальные хостинги, где всё было квалифицированными людьми настроено до меня и для меня.
            • 0
              А апдейты вам АС Пушкин делать? И еще, вы думаете, все такие умные как вы?
              VDS либо должен быть хотя бы с бесплатными закрытиями обнаруженных дыр, либо к нему должен прилагаться хорошо знакомый с bash человек — рабочее время которого тоже денег стоит.
              Настроил и забыл — до первой уязвимости.
              • 0
                Апдейты (если не страшно) можно доверить делать самой системе. А если выбрать какой-нибудь Debian Stable, то страшно быть не должно, что-то слабо оттестирвание в эту ветку не прорвётся.

                Я, как уже сказал, особо умным себя не возомнил, но если консоль совсем расстраивает, то зачем тогда VPS? Есть же специальные тарифы shared-хостинга у крупных провайдеров: от Спейсвеба и РБК, которые гарантируют, что ваш сайт не ляжет, если к соседу по серверу вдруг пойдёт заметный трафик. Мой личный опыт общения со Спейсвебом говорит даже о том, что на таком тарифе и нужный пакет вам поставят, если по-хорошему попросите.

                Мне, кажется, что VDS это как раз для тех, кто любит всё настраивать под себя, самостоятельно и с нюансами, но притом ещё не готов платить за дедик (или не имеет задач, чтобы его загрузить).
  • 0
    [---------------------------------------]
    Gandi — Welcome to your new OS image.
    [---------------------------------------]
    [zeus@hovel2 ~]$ cat /proc/cpuinfo
    processor: 0
    vendor_id: AuthenticAMD
    cpu family: 16
    model: 2
    model name: Quad-Core AMD Opteron(tm) Processor 8346 HE

    ЧЯДНТ?
    • 0
      Ещё раз проверил:

      processor : 0
      vendor_id : AuthenticAMD
      cpu family : 15
      model : 65
      model name : Dual-Core AMD Opteron(tm) Processor 8218
      stepping : 3
      cpu MHz : 2593.498
      cache size : 1024 KB


      :(((

      Может, потому что я у них на какой-нить тестовой машине? Месяц бесплатный получил.
      • 0
        Запросил саппорт:

        Our datacenter contains various servers, and some of those are using Dual-Core
        AMD Opteron, when other are using Quad-Core AMD.

        So, your server is working now on a Dual-Core AMD, but this doesn't change the
        power for your resources. As the matter of fact, our share system was thought to
        give you the same performances, even if you are not hosted on the same node.
        • 0
          Ну тогда непонятно, почему у ганди тесты хуже получились.
          • 0
            unixbench проведите
  • 0
    А еще трувдс20 дороже 1 шары на 25%. В то время как по тесту медленнее на 22%.

    => Ганди экономически выгоднее :D
    • +1
      640 руб., если платить помесячно стоит true20. Если брать на год — 320р/месяц выходит.

      1 share стоит 16$ (пока это ~510р, какой курс будет завтра никто не знает) без налогов, с налогами 19$ с копейками (~610р).

      510/640 *100 — 100 = 20%.

      По каким тестам ганди быстрее? У меня получилось медленнее. Хочу ваш Quad-Core!!! Почему меня на Dual-Core засунули не пойму. (((
      • 0
        Если брать ганди на год — 11.6$/месяц

        Да, 20%, это я с курсом глюканул. Ну как-бе сейчас разница по экономической эффективности практически равна нулю.
        • +1
          Год у трувдс получается дешевле. :)
          • +1
            я пробовал практически все vps в ру (трувдс тогда небыло). Больше я в ру не хочу :[

            Хотя SLA это круто, наверное какнить попробую.
    • 0
      btw, ганди не только дешевле, но и проц быстрее должен быть. ~650MHz. но мне не повезло с этим. :(
  • 0
    Как посовейтуте кто кто хостинг под LiveStreet? (основные задачи: скорость и стабильный доступ из USA)
    • 0
      А в США есть проблемы с хостингом? :)
    • 0
      Я бы вам вот кого посоветовал: fsckvps.com/
      Но это VPS, а не обычный хостинг.
  • 0
    Вижу, тут собрались «заинтересованные лица». Подскажите, что с трафиком на truevds?
    Хоть какую-то информацию о контроле трафика удалось найти только Гуглом.
    Трафик бесплатный и никак не тарифицируется. Но наши услуги не предназначены для постоянной и высокой загруженностью канала, например, для раздачи медиа-файлов, торрентов, прокси-серверов, VPN и т.д.
    Хотелось бы в количественном выражении. У меня есть проект, который хостится сейчас в sky-net. И все бы хорошо, но недавно они без предупреждения перенесли мой сервер из дата-центра keyweb в какой-то другой, написав, что решали технические проблемы. Обиделся и хочу переехать… Есть один нюанс: входящий трафик 3...5 TB в месяц.
  • 0
    Я так понял sphinx не устанавливался для тестирования?
    • 0
      Если интересно писал немного об особенностях его установки на Linux\Debian
    • 0
      Сфинкс используется в ЛС только для поиска.
      • 0
        я знаю, но на рабочем сайте обычно есть поиск :-)
        • 0
          это не тривиальный подход к поиску, т.е. я не знаю ни одной CMS с поддержкой sphinx.
          Это уже частность… А они охватили только основные шаблоны…
  • 0
    Радует тот факт, что у них есть SLA (ну для большинства крупных компаний это нормально).
    Но вот, что за нарушение SLA они готовы отдать месяц услуги в дар — это ооочень позитивно. (т.к. это уже не просто гарантии, а гарантии подкрепленные финансовой ответственностью)

    Я смотрю здесь есть представители этой компании.
    Ответьте пожалуйста на эти вопросы:
    1. как происходит перезагрузка зависшей намертво виртуалки? по звонку или через веб-интерфейс?
    2. KVM и Xen — это все же очень разные подходы, насколько я знаю. Как происходит выбор между ними?
    3. Изменение ядра на Xen виртуалках разве возможно на уровне доступа к виртуалке?
    4. почему вы не занимаетесь оверселлингом? ну хоть немного? :)
  • 0
    1. сейчас по звонку или тикеты, скоро будет по-человечески, через веб-интерфейс или API (REST)

    2. По умолчанию — Xen. KVM — по конкретным заявкам.

    3. В Xen ядра нормально меняются. Есть нюансы, но они решаемы. В HVM (аппаратная виртуализация) это вообще без проблем, т.к. ОС даже не понимает, что она на виртуальной машине. В PV (paravirtual) тоже не так сложно — главное, чтобы новое ядро поддерживало xen/pv.

    4. У услуги одна из ключевых составляющих — гарантированные ресурсы без оверселлинга. Было бы странно, если бы при этом занимались оверселлингом, даже немного :)
  • –1
    «Рано или поздно все приходят к тому, что обычный хостинг не тянет движок в силу некоторых его особенностей»

    Не чего не имеет общего с действительностью.
  • 0
    подскажите, статистика вида

    Transactions: 54468 hits
    Availability: 100.00 %
    Elapsed time: 3602.58 secs
    Data transferred: 622.92 MB
    Response time: 0.14 secs
    Transaction rate: 15.12 trans/sec
    Throughput: 0.17 MB/sec
    Concurrency: 2.12
    Successful transactions: 54468
    Failed transactions: 0
    Longest transaction: 1.48
    Shortest transaction: 0.00

    nginx выдает или что-то другое?

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.