Всем доброго дня!
На днях провайдер облачных вычислений RunAbove (детище OVH Group) представил возможность заказа инстансов на новейшей платформе IBM Power8 и в честь этого начал раздавать всем желающим аккаунты с 32$ на счету. Надо сказать что если взять 176-поточный сервер тарифа 2 XL то этих денег хватит чуть больше чем на сутки ибо стоимость будет 1.08$ за час. Для тарифа S (8 потоков 4Gb RAM 10Gb HDD) средств хватит почти на месяц.
Внимание! При регистрации просят указать номер кредитки или привязать Paypal. Так что не забывайте уничтожать инстансы после тестов, а то можно остаться без штанов на одном только 2XL =)
Что внутри
Внутри нас ждет современный веб-интерфейс для запуска инстансов и возможностью создания стораджей. Функций минимум, но зато выглядит это не в пример проще чем какой-нибудь Amazon где ощущаешь себя в кабине звездолета сидя перед их навороченным веб-интерфейсом =)
Скрины панели кстати сделать я поленился.
Сразу скажу что штука эта специфическая и для разворачивания стандартного LAMP не годится в силу того что для веб-сервера обычно не нужны такие дикие процессорные мощности, но зато важна производительность диска и доступный объем ОЗУ. Тут же диски медленные, кол-во ОЗУ приемлимое и очень мощный процессор. А цена высокая.
Вот скрин htop где видно 176 потоков. Такое лично я наблюдаю впервые =)
Думаю что это решение большей подойдет для задач где нужно производить огромное количество расчетов (может майнить? )) ведь на веб-сервер такой мощный процессор отдавать будет просто-напросто жалко.
В качестве доступной ОС здесь только Fedora 19.
Чуть ниже скидываю результаты скучных синтетических тестов и конфигурации железа – возможно кому то будет интересно.
Тариф S
cat /proc/cpuinfo processor : 0 cpu : POWER8E (raw), altivec supported clock : 3026.000000MHz revision : 2.1 (pvr 004b 0201) ... processor : 7 cpu : POWER8E (raw), altivec supported clock : 3026.000000MHz revision : 2.1 (pvr 004b 0201) timebase : 512000000 platform : pSeries model : IBM pSeries (emulated by qemu) machine : CHRP IBM pSeries (emulated by qemu)
cat /proc/meminfo MemTotal: 4171712 kB MemFree: 3544448 kB MemAvailable: 3901184 kB Buffers: 21376 kB Cached: 343616 kB SwapCached: 0 kB Active: 353472 kB Inactive: 124736 kB Active(anon): 114688 kB Inactive(anon): 2432 kB Active(file): 238784 kB Inactive(file): 122304 kB Unevictable: 0 kB Mlocked: 0 kB SwapTotal: 0 kB SwapFree: 0 kB Dirty: 0 kB Writeback: 0 kB AnonPages: 113152 kB Mapped: 43776 kB Shmem: 3968 kB Slab: 106368 kB SReclaimable: 25984 kB SUnreclaim: 80384 kB KernelStack: 2048 kB PageTables: 1536 kB NFS_Unstable: 0 kB Bounce: 0 kB WritebackTmp: 0 kB CommitLimit: 2085824 kB Committed_AS: 246720 kB VmallocTotal: 8589934592 kB VmallocUsed: 15936 kB VmallocChunk: 8589825600 kB HardwareCorrupted: 0 kB HugePages_Total: 0 HugePages_Free: 0 HugePages_Rsvd: 0 HugePages_Surp: 0 Hugepagesize: 64 kB
[admin@rh-dev ~]$ cat /etc/issue Fedora release 19 (Schrödinger’s Cat) Kernel \r on an \m (\l) [admin@rh-dev ~]$ inxi -b System: Host: rh-dev Kernel: 3.14.17-100.fc19.ppc64p7 ppc64 (32 bit) Console: tty 0 Distro: Fedora release 19 (Schrödinger’s Cat) Machine: No /sys/class/dmi; using dmidecode: dmidecode is not installed. CPU: Octa core POWER8E (raw) altivec supported (-MCP-) clocked at 3026 MHz Graphics: Card: Device 1234:1111 Display Server: N/A driver: N/A tty size: 134x20 Advanced Data: N/A out of X Network: Card: Red Hat Virtio network device driver: virtio-pci Drives: HDD Total Size: 10.7GB (13.4% used) Info: Processes: 112 Uptime: 4 min Memory: 268.9/4073.9MB Init: systemd runlevel: 3 Client: Shell (bash) inxi: 2.2.1
Пинги из Ульяновска:
➜ ulopen ping 92.222.64.224 PING 92.222.64.224 (92.222.64.224) 56(84) bytes of data. 64 bytes from 92.222.64.224: icmp_seq=1 ttl=50 time=81.4 ms 64 bytes from 92.222.64.224: icmp_seq=2 ttl=50 time=81.1 ms 64 bytes from 92.222.64.224: icmp_seq=3 ttl=50 time=81.1 ms 64 bytes from 92.222.64.224: icmp_seq=4 ttl=50 time=84.2 ms
Линейная скорость записи на диск очень невелика:
[admin@supa-s ~]$ dd if=/dev/zero of=test bs=64k count=16k conv=fdatasync 16384+0 записей получено 16384+0 записей отправлено скопировано 1073741824 байта (1,1 GB), 36,7431 c, 29,2 MB/c
Sysbench
CPU:
[admin@supa-s ~]$ sysbench --test=cpu --cpu-max-prime=20000 --num-threads=4 run sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 4 Doing CPU performance benchmark Threads started! Done. Maximum prime number checked in CPU test: 20000 Test execution summary: total time: 6.8619s total number of events: 10000 total time taken by event execution: 27.4415 per-request statistics: min: 2.41ms avg: 2.74ms max: 4.61ms approx. 95 percentile: 2.76ms Threads fairness: events (avg/stddev): 2500.0000/4.53 execution time (avg/stddev): 6.8604/0.00
[admin@supa-s ~]$ sysbench --test=threads --thread-locks=1 --max-time=20s run sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 1 Doing thread subsystem performance test Thread yields per test: 1000 Locks used: 1 Threads started! Done. Test execution summary: total time: 5.4300s total number of events: 10000 total time taken by event execution: 5.4274 per-request statistics: min: 0.53ms avg: 0.54ms max: 1.09ms approx. 95 percentile: 0.56ms Threads fairness: events (avg/stddev): 10000.0000/0.00 execution time (avg/stddev): 5.4274/0.00
[admin@supa-s ~]$ sysbench --test=mutex --num-threads=64 run sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 64 Doing mutex performance test Threads started! Done. Test execution summary: total time: 1.3583s total number of events: 64 total time taken by event execution: 85.6216 per-request statistics: min: 1285.09ms avg: 1337.84ms max: 1355.59ms approx. 95 percentile: 1354.20ms Threads fairness: events (avg/stddev): 1.0000/0.00 execution time (avg/stddev): 1.3378/0.02
Memory:
[admin@supa-s ~]$ sysbench --test=memory --num-threads=4 --memory-total-size=2G run sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 4 Doing memory operations speed test Memory block size: 1K Memory transfer size: 2048M Memory operations type: write Memory scope type: global Threads started! Done. Operations performed: 2097152 (3301588.24 ops/sec) 2048.00 MB transferred (3224.21 MB/sec) Test execution summary: total time: 0.6352s total number of events: 2097152 total time taken by event execution: 1.9867 per-request statistics: min: 0.00ms avg: 0.00ms max: 0.56ms approx. 95 percentile: 0.00ms Threads fairness: events (avg/stddev): 524288.0000/779.36 execution time (avg/stddev): 0.4967/0.00
HDD:
[admin@supa-s ~]$ sysbench --test=fileio --file-total-size=4G prepare sysbench 0.4.12: multi-threaded system evaluation benchmark 128 files, 32768Kb each, 4096Mb total Creating files for the test... [admin@supa-s ~]$ sysbench --test=fileio --file-total-size=4G --file-test-mode=rndrw --max-time=300 --max-requests=0 run sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 1 Extra file open flags: 0 128 files, 32Mb each 4Gb total file size Block size 16Kb Number of random requests for random IO: 0 Read/Write ratio for combined random IO test: 1.50 Periodic FSYNC enabled, calling fsync() each 100 requests. Calling fsync() at the end of test, Enabled. Using synchronous I/O mode Doing random r/w test Threads started! Time limit exceeded, exiting... Done. Operations performed: 27900 Read, 18600 Write, 59433 Other = 105933 Total Read 435.94Mb Written 290.62Mb Total transferred 726.56Mb (2.4218Mb/sec) 155.00 Requests/sec executed Test execution summary: total time: 300.0066s total number of events: 46500 total time taken by event execution: 5.9905 per-request statistics: min: 0.00ms avg: 0.13ms max: 468.40ms approx. 95 percentile: 0.16ms Threads fairness: events (avg/stddev): 46500.0000/0.00 execution time (avg/stddev): 5.9905/0.00
Ну как мы видим диск скоростью здесь особо не радует, зато процессор в норме и ОЗУ довольно быстрая.
Теперь результаты тарифа 2 XL.
Тариф 2 XL
Разница этих тарифов только в размере доступных ресурсов, так например в /proc/cpuinfo выдется 176 потоков вместо 8 на тарифе S. ОЗУ здесь 48Gb и HDD 480Gb.
Sysbench
CPU:
[admin@supa ~]$ sysbench --test=cpu --cpu-max-prime=20000 --num-threads=176 run sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 176 Doing CPU performance benchmark Threads started! Done. Maximum prime number checked in CPU test: 20000 Test execution summary: total time: 0.4474s total number of events: 10000 total time taken by event execution: 29.0787 per-request statistics: min: 0.93ms avg: 2.91ms max: 45.80ms approx. 95 percentile: 5.11ms Threads fairness: events (avg/stddev): 56.8182/63.16 execution time (avg/stddev): 0.1652/0.15 [admin@supa ~]$ sysbench --test=threads --thread-locks=1 --max-time=20s run sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 1 Doing thread subsystem performance test Thread yields per test: 1000 Locks used: 1 Threads started! Done. Test execution summary: total time: 5.3768s total number of events: 10000 total time taken by event execution: 5.3739 per-request statistics: min: 0.52ms avg: 0.54ms max: 1.00ms approx. 95 percentile: 0.56ms Threads fairness: events (avg/stddev): 10000.0000/0.00 execution time (avg/stddev): 5.3739/0.00 [admin@supa ~]$ sysbench --test=mutex --num-threads=64 run sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 64 Doing mutex performance test Threads started! Done. Test execution summary: total time: 5.7995s total number of events: 64 total time taken by event execution: 309.5168 per-request statistics: min: 1529.58ms avg: 4836.20ms max: 5791.37ms approx. 95 percentile: 5783.46ms Threads fairness: events (avg/stddev): 1.0000/0.00 execution time (avg/stddev): 4.8362/0.97
Memory:
[admin@supa ~]$ sysbench --test=memory --memory-total-size=32G --num-threads=4 run sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 4 Doing memory operations speed test Memory block size: 1K Memory transfer size: 32768M Memory operations type: write Memory scope type: global Threads started! Done. Operations performed: 33554432 (1578729.94 ops/sec) 32768.00 MB transferred (1541.73 MB/sec) Test execution summary: total time: 21.2541s total number of events: 33554432 total time taken by event execution: 36.1877 per-request statistics: min: 0.00ms avg: 0.00ms max: 1.57ms approx. 95 percentile: 0.00ms Threads fairness: events (avg/stddev): 8388608.0000/93782.69 execution time (avg/stddev): 9.0469/0.10
HDD:
[admin@supa ~]$ sysbench --test=fileio --file-total-size=64G prepare sysbench 0.4.12: multi-threaded system evaluation benchmark 128 files, 524288Kb each, 65536Mb total Creating files for the test... [admin@supa ~]$ sysbench --test=fileio --file-total-size=64G --file-test-mode=rndrw --max-time=300 --max-requests=0 run sysbench 0.4.12: multi-threaded system evaluation benchmark Running the test with following options: Number of threads: 1 Extra file open flags: 0 128 files, 512Mb each 64Gb total file size Block size 16Kb Number of random requests for random IO: 0 Read/Write ratio for combined random IO test: 1.50 Periodic FSYNC enabled, calling fsync() each 100 requests. Calling fsync() at the end of test, Enabled. Using synchronous I/O mode Doing random r/w test Threads started! Time limit exceeded, exiting... Done. Operations performed: 25080 Read, 16720 Write, 53456 Other = 95256 Total Read 391.88Mb Written 261.25Mb Total transferred 653.12Mb (2.1771Mb/sec) 139.33 Requests/sec executed Test execution summary: total time: 300.0020s total number of events: 41800 total time taken by event execution: 47.0813 per-request statistics: min: 0.00ms avg: 1.13ms max: 153.91ms approx. 95 percentile: 7.24ms Threads fairness: events (avg/stddev): 41800.0000/0.00 execution time (avg/stddev): 47.0813/0.00
ОЗУ тут отчего то подкачало – показало вдвое меньшую производительность, производительность диска тоже чуть ниже. А вот процессор зато решает =)
Резюме
Специфичное решение для того кто знает зачем ему оно нужно.
Поздний ноябрьский апдейт
На данный момент RunAbove раздает промокоды с 10$ на счету. Можно их найти если немного погуглить.
Плюс также обязательно стоит упомянуть наличие хранилища на OpenStack Swift со стоимостью чуть больше рубля за гигабайт (даже с учетом текущего курса!).
И еще я хотел рассказать про режим эксперта: