Выбираем Linux-дистрибутив для VPS
Привет, хабрасообщество! Сегодня я был озадачен проблемой выбора дистрибутива для своего дроплета на DigitalOcean и провел небольшое тестирование потребления оперативной памяти, которое может быть вам также полезно. Немного отойдя от темы, хочу сказать, что я давно искал недорогой VPS для собственных нужд и уже было хотел купить его у Hetzner, однако мне посчастливилось наткнуться на DigitalOcean, который предлагает VPS вкупе с шустрым SSD за 5$/месяц.На данный момент сервис предоставляет на выбор пять дистрибутивов — Ubuntu, CentOS, Debian, Arch Linux, Fedora. Не так давно Arch Linux получил depricated-статус и больше не рекомендуется для создания новых дроплетов. Fedora по понятным причинам отпадает, по крайней мере для меня, как основа для веб-сервера. В итоге мы получаем на выбор три дистрибутива, которые, кстати говоря, являются самыми используемыми на веб-серверах.
Впервые попав на страницу создания дроплета полгода назад, я особо не раздумывал и выбрал CentOS 6.5×64. Этот выбор был обоснован тем, что AWS (Amazon Web Services) отдает предпочтение CentOS и это мнение является для меня авторитетным. В течении полугода я использовал свой дроплет исключительно как LAMP-хостинг, но подошел момент, когда мне понадобилось запустить стек для Ruby On Rails, которому я отдал свое предпочтение для разработки нового стартапа. Во время установки пакетов система просто ушла в даун, сославшись на недостаток оперативной памяти. Конечно, эту проблему можно было обойти путем подключения swap-файла, но это не наш метод. Я решил сравнить потребление памяти последних версий дистрибутивов на чистых дроплетах с одной открытой ssh-сессией и попробовать переосмыслисть свой выбор для VPS в условиях весьма ограниченного объема ОЗУ (512 MB в моем случае).
Итак, что из этого вышло, смотрите под катом.
CentOS 6.5×32 [root@centos32 ~]# uname -a Linux centos32 2.6.32–431.1.2.0.1.el6.i686 #1 SMP Fri Dec 13 11:45:23 UTC 2013 i686 i686 i386 GNU/Linux [root@centos32 ~]# free total used free shared buffers cached Mem: 510888 52104 458784 0 4868 27644 -/+ buffers/cache: 19592 491296 Swap: 0 0 0 CentOS 6.5×64 [root@centos64 ~]# uname -a Linux centos64 2.6.32–431.1.2.0.1.el6.x86_64 #1 SMP Fri Dec 13 13:06:13 UTC 2013×86_64×86_64×86_64 GNU/Linux [root@centos64 ~]# free total used free shared buffers cached Mem: 502260 75488 426772 0 4464 29224 -/+ buffers/cache: 41800 460460 Swap: 0 0 0 Debian 7.0×32 root@debian32:~# uname -a Linux debian32 3.2.0–4–686-pae #1 SMP Debian 3.2.54–2 i686 GNU/Linux root@debian32:~# free total used free shared buffers cached Mem: 514436 53284 461152 0 6024 29796 -/+ buffers/cache: 17464 496972 Swap: 0 0 0 Debian 7.0×64 root@debian64:~# uname -a Linux debian64 3.2.0–4-amd64 #1 SMP Debian 3.2.54–2×86_64 GNU/Linux root@debian64:~# free total used free shared buffers cached Mem: 508936 62376 446560 0 6320 31408 -/+ buffers/cache: 24648 484288 Swap: 0 0 0 Ubuntu 14.04×32 root@ubuntu32:~# uname -a Linux ubuntu32 3.13.0–24-generic #46-Ubuntu SMP Thu Apr 10 19:08:14 UTC 2014 i686 i686 i686 GNU/Linux root@ubuntu32:~# free total used free shared buffers cached Mem: 507292 193632 313660 312 17808 152596 -/+ buffers/cache: 23228 484064 Swap: 0 0 0 root@ubuntu32:~# Ubuntu 14.04×64 root@ubuntu64:~# uname -a Linux ubuntu64 3.13.0–24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014×86_64×86_64×86_64 GNU/Linux root@ubuntu64:~# free total used free shared buffers cached Mem: 501868 279348 222520 312 15428 225604 -/+ buffers/cache: 38316 463552 Swap: 0 0 0 Я не увидел смысла смотреть потребление памяти устаревших версий дистрибутивов, так как являюсь сторонником свежих версий софта из коробки. Из тех результатов, которые были получены, можно сделать несколько выводов:
1. Ubuntu 14.04 является очень прожорливой в плане потребления ОЗУ и поэтому становится сомнительным выбором для дроплета малым объемом памяти.2. Версии для x64 потребляют больше памяти на 20% в случае Debian и на 45% в случае CentOS и Ubuntu.
Для себя на этот раз я сделал выбор в пользу 32-битной версии Debian, однако, если рассматривать вариант с более мощным дроплетом, то мой выбор упал бы на Ubuntu x64.
Надеюсь, это информация будет вам полезна, когда в следующий раз вам нужно будет выбирать между дистрибутивами для VPS.
P.S. Ссылка на DigitalOcean вверху является реферальной, надеюсь никто не против.