Всем доброго дня!
На днях провайдер облачных вычислений 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 со стоимостью чуть больше рубля за гигабайт (даже с учетом текущего курса!).
И еще я хотел рассказать про режим эксперта:

