Как я выжил на маленьком vds.




Собственно тема не нова — vds, самый дешёвый из всех что был найден.
Как следствие минимум ресурсов, зато неплохии такие амбиции.

Итак, достался мне виртуальный сервер с 64 Мб памяти, быстродействием в 300 Мгц, и диском около 1 Гб.
Операционную систему хостер предоставляет на выбор, и переустановка сервера, в случае чего, занимает считанные минуты.
Ленивое желание, чтобы всем занимался инсталлятор debian’a повлияло на выбор.
Изначально планировалось разместить на площадке закрытую конференцию для группы энтузиастов в 10 человек.
Затем у отдельных индивидов появилось жгучее желание наклепать персональных страниц, но проблемы начались немедля.

Из lenny-ветки дебиана были поставлены apache2.2, mysql 5.1, php5 и необходимые модули для апача.
Всё установилось и заработало.Только был залит контент сайта, и не успели пройти первые восторги, как выяснилось, что при одновременном захождении 5 человек (я уже не говорю о большем), mysql падал и восторг прекращался.
Банально, не тюнингованный апач сжирал всю память, и mysqld после печального «Out of memory» больше не поднимался.
Первым бесплатным решением было увеличить своп, но выяснилось что на этом vds свопа вообще нет. Более того, его нельзя было создать никаким образом, и функции типа swapon не поддерживались. Понятно, хостеру тоже надо кушать.
Пытка хостера наивно-непосредсвенными вопросами привела к следующим выводам:
- на линкусе swap никак не разрешён;
- на freebsd swap обязательно имеется.
При чём в размере оперативной памяти. Ого-го, подумалось группе халявщиков. Немедленно переезжаем на FreeBSD!
Собственно переезд оказался быстр, но последствия не утешительны.

Mysqld так же падал.
А swap… Swap в FreeBSD такая вещь, без которой он (bsd), категорически не функционирует.  (Между прочим, грамотные люди (см. ниже) подсказывают, что это совсем не так!) Т.е. присутсвует номинально он обязательно. Но в top’е (на vds) показывает примерно следующее:
Swap: 192M Total, 1572K Used, 190M Free
Грубо говоря, swap не оправдал возложенные на него надежды.

Пришлось таки, почесать затылок и заняться оптимизацией.

Перво-наперво был отыскан в дебрях /usr/local/share/mysql конфиг my-small.cnf для «систем с малым количеством памяти (<= 64M)». Практически без изменений содержимое оказалось в /etc/my.cnf, от себя добавил только:
default-character-set=cp1251
character-set-server=cp1251
skip-character-set-client-handshake

все бэкапы в cp1251, что ж теперь. Не помешало бы skip-innodb, но это в будущем.
Так же, после внимательного изучения вопроса тюнинга тредов, кэш (thread_cache_size) был выставлен на цифру 8.  Эффект получился весьма удовлетворительный:
mysqladmin extended-status -p | grep hread
Enter password:
| Delayed_insert_threads | 0 |
| Slow_launch_threads | 0 |
| Threads_cached | 4 |
| Threads_connected | 1 |
| Threads_created | 5 |
| Threads_running | 1 |

Размер резидентной памяти для процесса mysqld сейчас колеблется около 10-13 Мб.

Продолжение завтра..

Глубоко извиняюсь за задержку, публиковался на  хабре. Продолжение тут.

dan1005
(c)  compiling.ru

Popularity: 3%



Этот материал находится на сайте http://compiling.ru
__________________________________________



Похожие посты:


  • How To Install Alfresco Community 2, Prepare database
  • Swap Files, Swap, System Configuration, Monitoring.
  • Пляски с кодировкой mysql.
  • SAMP 4, Check MySQL
  • Ограничение пользователей в MySQL



  • Опубликовано 06 Июл 2009 в 17:10. В рубриках: Optimization. Вы можете следить за ответами к этой записи через RSS 2.0. Вы можете оставить отзыв или трекбек со своего сайта.

    Отзывов: 10 на “Как я выжил на маленьком vds.”

    1. Сергей 08 Июл 2009 в 21:43

      Опечатка sawpon заменить на swapon

    2. dan1005 09 Июл 2009 в 14:39

      Thanks so much.
      Поправил.

    3. Dan 14 Июл 2009 в 11:32

      «А swap… Swap в FreeBSD такая вещь, без которой он (bsd), категорически не функционирует. »

      Автор операционные системы не путает? Как это без него не функционирует?

    4. vlad 14 Июл 2009 в 12:03

      …кэш (thread_cache_size) был выставлен на 8 Мб…
      надеюсь это опечатка и вы не собираетесь держать в кэше 8 миллионов тридов :)

    5. Jay 14 Июл 2009 в 19:16

      «Swap в FreeBSD такая вещь, без которой он (bsd), категорически не функционирует. Т.е. присутсвует номинально он обязательно.»
      Это не так. FreeBSD отлично работает и без свопа. Иначе не было pfSense, m0n0wall, bsdrp, FreeNAS, frenzy и других «прошивочных» продуктов.

    6. dan1005 14 Июл 2009 в 21:47

      > надеюсь это опечатка и вы не собираетесь держать в кэше 8 миллионов тридов :)
      Не, не 8 млн, а просто 8 :-) конечно :-)

    7. dan1005 14 Июл 2009 в 21:50

      to Dan, Jay,
      братцы, простите грешного, во фряхе я ламер. Первый раз только на хостинге и поковырялся.
      Глубочайшие благодарности за содержательные комментарии!

    8. dan1005 24 Июл 2009 в 22:57

      ;-)

    9. Виктор 19 Дек 2009 в 14:04

      Мне понравилось описания, только меня мучает вопрос, что я не так делаю. потому как у меня получается что на vps всё под завязку забито, памяти 200 метров. стоит mysql apache java настройки сделал все как на сайте проблема с памятью не ушла.

    10. dan1005 22 Дек 2009 в 23:46

      А кто память жрёт, mysql, apache?

    Оставьте свой отзыв

    Партнёры:


    forum.vpnssl.ru

    Выбор решений, консультации, примеры.

    Есть вопрос! Оставь свой голос!

    Question:

    Что нужно админу для счастья?

    View Results

    Loading ... Loading ...




    Most Popular Posts



    Supported:

  • Прикольные футболки: прикольные мужские футболки.


  • free counters