Как купить Linux VPS сервер
Рано или поздно у тех, кто связан с деятельностью в интернете возникает потребность в своём сервере, перенести развитой сайт на более производительную площадку (или просто 1C-Bitrix запустить), запустить свой интернет-сервис, игровой сервер с Counter-Strike или внеочередной RPG. Да мало ли этих целей в современном вебе.
Вот и у меня недавно возникла потребность в переходе с моего древного shared хостинга на что-то более быстрое и функциональное. Держать домашний сервер я утомился и решил, что можно остановиться на VPS (Virtual Private Server) сервере, как вполне доступном и удобном решении моих задач.
Задачи на сейчас – совместная разработка (и обучение) на RoR и перенос пары клиентов с их сайтами на одну площадку, для удобства управления. Столкнувшись со сложностями в выборе (VPS нынче многие дают) решил, что может быть мой опыт сэкономит кому то время или подскажет критерий и метод оценки.
Приступим.
Выбирая VPS нас интересует, в первую очередь, его производительность и цена.
В данной статье я попытаюсь найти средние показатели производительности для Linux VPS серверов. Для этого проведу тестирование виртуальных серверов семи провайдеров. Каждый из тестируемых VPS имел средний тариф с параметрами: 2 ядра процессора и 2Гб оперативной памяти.
Цель поста – определение средних показателей производительности для рынка Linux VPS серверов в категории средней производительности.
Тестируем ОЗУ, ЦПУ и диск с помощью пакета phoronix-test-suite
apt-get install php5-cli php5-gd
dpkg –i phoronix-test-suite_5.0.1_all.deb
или альтернативный вариант:
apt-get install php5-cli php5-gd
apt-get install phoronix-test-suite
Список всех доступных тестов:
pts/iozone – диск – чтение/запись блоками по 4кб, файл 512Мб
phoronix-test-suite run pts/iozone pts/compress-gzip pts/ramspeed
Тестируем канал:
Установка SpeedTest:
wget raw.github.com/sivel/speedtest-cli/master/speedtest_cli.py
chmod a+rx speedtest_cli.py
mv speedtest_cli.py /usr/local/bin/speedtest-cli
chown root:root /usr/local/bin/speedtest-cli
Если нужно выбрать другой сервер то смотрим номер сервера:
speedtest-cli —list |more
speedtest-cli —server 4718 (4718 номер сервера, в данном случае это Beeline (Moscow, Russia))
Результаты тестов:
Провайдер vpsville.ru
Тариф village, цена 699 р. (
20$), диск 50Гб, RAM 2Гб, процессор – 2 ядра, трафик – безлимитный, локация – Россия, Москва
Диск:
pts/iozone-1.8.0 [Record Size: 4Kb — File Size: 512MB — Disk Test: Read Performance]
Average: 2625.46 MB/s
pts/iozone-1.8.0 [Record Size: 4Kb — File Size: 512MB — Disk Test: Write Performance]
Average: 116.80 MB/s
Процессор:
pts/compress-gzip-1.1.0
Average: 32.32 Seconds
ОЗУ:
pts/ramspeed-1.4.0 [Type: Average — Benchmark: Integer]
Average: 8842.28 MB/s
pts/ramspeed-1.4.0 [Type: Average — Benchmark: Floating Point]
Average: 8832.56 MB/s
Сеть:
Download: 93.82 Mbits/s
Upload: 82.73 Mbits/s
Share results:
Провайдер flops.ru
Тариф Облачный 2048, цена 1000 р. (
29$), диск 64Гб, RAM 2Гб, процессор – 2 ядра, Трафик – 90Гб в сутки, локация – Россия, Москва
Диск:
pts/iozone-1.8.0 [Record Size: 4Kb — File Size: 512MB — Disk Test: Read Performance]
Average: 3984.85 MB/s
pts/iozone-1.8.0 [Record Size: 4Kb — File Size: 512MB — Disk Test: Write Performance]
Average: 132.83 MB/s
ОЗУ:
pts/ramspeed-1.4.0 [Type: Average — Benchmark: Integer]
Average: 15409.53 MB/s
pts/ramspeed-1.4.0 [Type: Average — Benchmark: Floating Point]
Average: 15110.79 MB/s
Процессор:
pts/compress-gzip-1.1.0
Average: 25.07 Seconds
Сеть:
Download: 50.66 Mbits/s
Upload: 31.68 Mbits/s
Share results:
Провайдер timeweb.ru
59$), диск 5Гб, RAM 2Гб, процессор – 4 ядра, трафик – безлимитный, канал – 10Мбит/с., локация – Россия, Санкт-Петербург
Диск:
pts/iozone-1.8.0 [Record Size: 4Kb — File Size: 512MB — Disk Test: Read Performance]
Average: 58.60 MB/s
pts/iozone-1.8.0 [Record Size: 4Kb — File Size: 512MB — Disk Test: Write Performance]
Average: 20.97 MB/s
Процессор:
pts/compress-gzip-1.1.0
Average: 80.27 Seconds
ОЗУ:
pts/ramspeed-1.4.0 [Type: Average — Benchmark: Integer]
Average: 16073.60 MB/s
pts/ramspeed-1.4.0 [Type: Average — Benchmark: Floating Point]
Average: 15958.42 MB/s
Сеть:
Download: 21.24 Mbits/s
Upload: 13.13 Mbits/s
Share results:
Провайдер selectel.ru
Тариф 2048 р., VDS-2048: CPU — 2048MHz, RAM — 2048Mb, HDD — 204,8Gb, трафик – безлимитный, локация – Москва.
Диск:
pts/iozone-1.8.0 [Record Size: 4Kb — File Size: 512MB — Disk Test: Read Performance]
Average: 2229.47 MB/s
pts/iozone-1.8.0 [Record Size: 4Kb — File Size: 512MB — Disk Test: Write Performance]
Average: 261.52 MB/s
ОЗУ:
pts/ramspeed-1.4.0 [Type: Average — Benchmark: Integer]
Average: 9062.74 MB/s
pts/ramspeed-1.4.0 [Type: Average — Benchmark: Floating Point]
Average: 10525.11 MB/s
Процессор:
pts/compress-gzip-1.1.0
Average: 23.73 Seconds
Сеть:
Download: 10.35 Mbits/s
Upload: 19.12 Mbits/s
Share results:
Провайдер digitalocean.com
Тариф 20$, ОЗУ 2Гб, Процессор 2 ядра, Диск 40Гб SSD, Трафик – 3Тб в месяц, локация – New-York
Диск:
pts/iozone-1.8.0 [Record Size: 4Kb — File Size: 512MB — Disk Test: Read Performance]
Average: 2412.61 MB/s
pts/iozone-1.8.0 [Record Size: 4Kb — File Size: 512MB — Disk Test: Write Performance]
Average: 181.50 MB/s
ОЗУ:
pts/ramspeed-1.4.0 [Type: Average — Benchmark: Integer]
Average: 17077.31 MB/s
pts/ramspeed-1.4.0 [Type: Average — Benchmark: Floating Point]
Average: 15088.17 MB/s
Процессор:
pts/compress-gzip-1.1.0
Average: 19.71 Seconds
Сеть:
Download: 26.40 Mbits/s
Upload: 20.49 Mbits/s
Share results:
Провайдер Hetzner.com
Тариф VQ19 – 19,90 Евро (
27$), ОЗУ – 2Гб, Процессор 1 ядро, Диск 80 Гб, Трафик – 4Тб на скорости 100Мбит (свыше канал ограничивается 10Мбит).
Диск:
pts/iozone-1.8.0 [Record Size: 4Kb — File Size: 512MB — Disk Test: Write Performance]
Average: 57.29 MB/s
pts/iozone-1.8.0 [Record Size: 4Kb — File Size: 512MB — Disk Test: Read Performance]
Average: 7218.04 MB/s
Процессор:
pts/compress-gzip-1.1.0
Average: 30.46 Seconds
ОЗУ:
pts/ramspeed-1.4.0 [Type: Average — Benchmark: Integer]
Average: 10457.82 MB/s
pts/ramspeed-1.4.0 [Type: Average — Benchmark: Floating Point]
Average: 10536.78 MB/s
Сеть:
Download: 302.74 Mbits/s
Upload: 165.33 Mbits/s
Share results:
Провайдер 1Gb.ru
34$), ОЗУ 2Гб, процессор 2 ядра, диск 60 Гб, Трафик – безлимитный, локация – Москва
Диск:
pts/iozone-1.8.0 [Record Size: 4Kb — File Size: 512MB — Disk Test: Read Performance]
Average: 2057.24 MB/s
pts/iozone-1.8.0 [Record Size: 4Kb — File Size: 512MB — Disk Test: Write Performance]
Average: 21.23 MB/s
ОЗУ:
pts/ramspeed-1.4.0 [Type: Average — Benchmark: Integer]
Average: 14828.04 MB/s
pts/ramspeed-1.4.0 [Type: Average — Benchmark: Floating Point]
Average: 12659.67 MB/s
Процессор:
pts/compress-gzip-1.1.0
Average: 24.91 Seconds
Сеть:
Download: 67.37 Mbits/s
Upload: 10.87 Mbits/s
Share results:
Сводные таблицы тестирования vps серверов
Чтение и запись дисковых систем
Тесты оперативной памяти
Производительность процессора виртуального сервера
Тесты скорости сетевого соединения linux vps серверов
Из-за Hetzner картина получилась немного смазанной 🙂
Последний график, который никак не отображает параметры сервера, но зачастую все-таки очень сильно влияет на выбор виртуального сервера это цена аренды.
Итого:
Для подведения итога все графики были сделаны разноцветными.
Зеленый цвет – параметр выше среднего (последний столбец — Average)
Красный цвет – соответственно ниже среднего.
Шесть раз зажигал зеленый цвет провайдер flops.ru
Пять раз – vpsville.ru, digitalocean.com, Hetzner.com
Три – 1Gb.ru
Два – timeweb.ru и selectel.ru
Этот итог, как и все выше изложенное не претендует на 100% объективность, так как при выборе сервера кому то важна скорость дисков, а кто-то обращает внимание на процессор. Для кого-то основной фактор это цена…
Всем удачи в выборе хостера и стабильных пингов 🙂
Источник
Домашний linux сервер своими руками
Хочется поделиться с хабросооществом информацией о том как я собирал домашний сервер.
Из софта на домашнем сервере будет «крутиться» следующий набор:
- torrent клиент с web-мордой
- DHCP — раздаем ip адреса и сетевые настройки
- TFTP — для сетевой загрузки
- OpenVPN — для хождения в сеть с нетбука из недоверенных сетей
- FTP/Samba/NFS — сетевые шары для доступа с домашних машин
- Radius — для WPA2 авторизации
- DigiTemp — мониторинг домашней температуры
Аппаратная часть
При выборе аппаратной части, вариантов было несколько:
- старенький комп
- самосбор на базе mini-ITX
- тонкий клиент HP T5000
- тонкий клиент на базе Neoware CA2
Первый вариант был сразу же отброшен из-за шума, пыли и энергопотребления. Второй был заказан, пока шли комплектующие, я успел передумать (захотелось шум и энергопотребление свести до минимума). В итоге, на Ebay были куплены тонкие клиенты HP t5000 и Neoware CA2. Месяц спустя пришли тонкие клиенты и из двух, после долгих размышлений, был выбран Neoware CA2. В него идеально поместился 2.5′ HDD и вторая сетевая карта.
После допиливания, в буквальном смысле, Neoware CA2 я принялся ставить на него Ubuntu 9.10 с офисного TFTP сервера. Установку производил самую минимальную. Если бы не было набора для сетевой установки, ставил бы Debian с USB CD-ROM и netinstall диска. Сам я ярый фанат RHEL/CentOS, но на домашний сервер решил ставить что-то из debian семейства, для расширения кругозора.
Torrent клиент и вебморда
Теперь перейдем к установке torrent клиента и вебморды. Была выбрана связка rtorrent + rutorrent, установка из репозитариев была отметена сразу, т.к. «родной» пакет был собран без xmlrpc-c который расширяет функционал rutorrent. Ниже фактически, скрипт для авто-установки rtorrent+rutorrent+lighttpd+php.
Устанавливаем всё что необходимо для компиляции xmlrpc-c, libtorrent, rtorrent
apt-get install checkinstall subversion build-essential make autoconf autotools-dev automake libtool libcurl4-openssl-dev libsigc++-2.0-dev pkg-config libncurses5-dev
apt-get remove rtorrent libtorrent11 libxmlrpc-c3 libxmlrpc-c3-dev libxmlrpc-core-c3 libxmlrpc-core-c3-dev
Компилируем и «заворачиваем» в .deb пакет xmlrpc-c, libtorrent, rtorrent
svn co xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced xmlrpc-c
cd xmlrpc-c
./configure —prefix=/usr && make && checkinstall -D
cd ..
wget libtorrent.rakshasa.no/downloads/libtorrent-0.12.6.tar.gz
tar zxfv libtorrent-0.12.6.tar.gz
cd libtorrent-0.12.6
rm -f scripts/
./autogen.sh && ./configure —prefix=/usr && make && checkinstall -D
cd ..
wget libtorrent.rakshasa.no/downloads/rtorrent-0.8.6.tar.gz
tar zxfv rtorrent-0.8.6.tar.gz
cd rtorrent-0.8.6
rm -f scripts/
./autogen.sh && ./configure —with-xmlrpc-c —prefix=/usr && make && checkinstall -D
К сожалению, rtorrent не умеет работать в режиме daemon, по этому будем использовать screen
apt-get install screen -y
wget libtorrent.rakshasa.no/raw-attachment/wiki/RTorrentCommonTasks/rtorrentInit.sh —output-document=/etc/init.d/rtorrent
chmod +x /etc/init.d/rtorrent
sed -i ‘s/»user»/»torrents»/’ /etc/init.d/rtorrent
update-rc.d rtorrent defaults
useradd -d /torrents -m torrents
Создаем конфиг и папки для сессий и готовых торрент закачек, после чего стартуем rtorrent.
mkdir /torrents/.rtorrent_session
cat >> /torrents/.rtorrent.rc
Теперь займемся вебмордой rutorrent. Для работы rutorrent необходим вебсервер и интерпретатор php.
apt-get install lighttpd php5-cgi php5-cli php5-curl curl -y
lighty-enable-mod fastcgi
echo ‘server.modules += ( «mod_scgi» )’ >> /etc/lighttpd/lighttpd.conf
cat >> /etc/lighttpd/lighttpd.conf
( «127.0.0.1» =>
(
«host» => «127.0.0.1»,
«port» => 5000,
«check-local» => «disable»
)
)
)
EOF
/etc/init.d/lighttpd force-reload
Вебсервер готов, теперь будем ставить rutorrent и несколько полезных плагинов к нему.
cd /var/www/
svn checkout rutorrent.googlecode.com/svn/trunk/rutorrent
cd /var/www/rutorrent/plugins/
svn checkout rutorrent.googlecode.com/svn/trunk/plugins/tracklabels
svn checkout rutorrent.googlecode.com/svn/trunk/plugins/cookies
svn checkout rutorrent.googlecode.com/svn/trunk/plugins/autotools
svn checkout rutorrent.googlecode.com/svn/trunk/plugins/erasedata
chown -R www-data:www-data /var/www/
Теперь можно заходить по server_ip/rutorrent и начинать пользоваться.
Теперь установим DHCP сервер и создадим для него конфиг таким образом чтобы клиенты получали:
router 192.168.1.1
dns сервер 8.8.8.8
сервер времени time.nist.gov
tftp сервер 192.168.1.1
и для примера фиксированная выдача 192.168.1.100 клиенту с MAC-адресом 00:1B:FC:33:F0:25
aptitude install dhcp3-server
cat >> /etc/dhcp3/dhcpd.conf
строчки с option-150 нужны для моего VoIP телефона Cisco 7940.
TFTP и сетевая установка
aptitude install xinetd atftpd atftp
cat >> /etc/xinetd.d/tftp
Теперь проверим, работает ли tftp сервер
root@dvr:
# echo bla > /tftpboot/123
root@dvr:
# atftp 127.0.0.1
tftp> get 123
tftp>
root@dvr:
# cat 123
bla
Всё нормально, теперь создадим netinstall наборы для нескольких ОС: Ubuntu karmic, Ubuntu lucid, Debian lenny, Debian sid, Debian squeeze, Fedora 13, CentOS 5.5, Mandriva 2010.0, Suse 11.2, Slackware 13.1, Hardware Detection Tool, memtest и MHDD. Для этого предлагаю использовать слегка модифицированный скрипт который я взял с HowtoForge.
apt-get install lftp -y
wget itblog.su/tftpboot_installs.sh
bash tftpboot_installs.sh
Теперь добавим SystemRescueCd в PXE меню
wget «http://downloads.sourceforge.net/project/systemrescuecd/sysresccd-x86/1.6.3/systemrescuecd-x86-1.6.3.iso?use_mirror=citylan»
mount -o loop systemrescuecd-x86-1.6.1.iso /mnt/
cp /mnt/sysrcd.* /var/www/
cp /mnt/isolinux/initram.igz /tftpboot/
cp /mnt/isolinux/rescuecd /tftpboot/
cat >> /tftpboot/pxelinux.cfg/default
Без особого труда в это меню можно добавить продукты Acronis, инсталляцию и запуск Windows XP и прочее.
Вот так будет выглядеть наше меню:
Продолжение в следующей части. А именно:
- OpenVPN сервер для «хождения» в сеть из не доверенных сетей (например из гостиницы)
- FTP/Samba/NFS сетевые шары
- Radius для авторизации wi-fi клиентов
- DigiTemp зачатки умного дома, мониторинг температуры в квартире и за окном
- festival — говорящий будильник
- бакапы с хостинга
и подытожит статью скрипт который всё это установит в «два клика».
С удовольствием выслушаю замечания и дополнения.
Источник