再開したさくらクラウドを使ってみた & 性能検証してみた
11/1日から再開したらしいので試しに使ってみた。とりあえず一番安そうなプランを選ぶ。1コア + メモリ2GB + HDD20GBで月2500円くらい。だいぶ安い。
さっそく/proc/cpuinfoをみてみたところXEONの3.0Ghzらしい。俺の利用用途であるゲームのサーバーだと1コア当たりのCPU性能よい方が良いのでこれは助かる。さくらVPSが同じく2.4Ghzぐらい。
Intel(R) Xeon(R) CPU X5675 @ 3.07GHz
ただなんだかTerminal.appからsshでつないだときのターミナルの入力遅延があるのが気になる。回線の問題? あるいはほかの何か? さくらVPSだとこういう現象が起きていないので謎
さて、まずCPU性能についてC言語でコード書いて軽く試してみた。CPUの性能を測る上で適切なコードの書き方がわからないのでとりあえず足し算の処理性能を測ってみた。機械語的にどういう風にgccで変換されるかとかも見た方が良いんだろうけどめんどくてやってない。まぁ相対的に性能の具合がわかればいいかなみたいな。
calc.c
#include <stdio.h> int main() { printf("start\n"); int n = 0; int i = 0; for(i=0; i<800000000; i++){ n += 1; } printf("end: %d\n", n); return 0; }
適当に足し算しまくってるだけ。
MacBook Airでの結果
./a.out 2.19s user 0.00s system 99% cpu 2.198 total
さくらVPSでの結果が
./a.out 2.43s user 0.00s system 99% cpu 2.439 total
さくらクラウドでの結果が
./a.out 1.85s user 0.00s system 99% cpu 1.855 total
明らかに早いですね。次はこないだやったUDPのパケットロス問題がどう違うのかを確認してみる
こないだやった実験の記事: http://kimoto.hatenablog.com/entry/2012/10/25/185014
この当時やったことと同じことをさくらクラウドでやってみた
udp_server.rbを0.0.0.0にbindし起動、udp_client.rbで送信してみた。
結果
all packet: 100000, lost packets: 555, 0.555% lost Total packet: 57269.61138467598 req/sec Success packet: 56951.76504149103 req/sec
0.5%しかロストしてない!!! さくらVPSだと60%もロストしてたのに!!
俺の試験ミスかなということでもう一回さくらVPSでやってみる
結果
all packet: 100000, lost packets: 63140, 63.13999999999999% lost Total packet: 69305.36570929241 req/sec Success packet: 25545.957800445183 req/sec
やっぱ60%ロスしてるーーー
そう考えるとUDPで高速通信をするゲームのサーバーはさくらVPSは向いてないかなという感じ。さくらクラウドは0.5%ロスという普通なスコアなので大丈夫っぽい感じ。
でも60%ロスはなんでだろう。なんかの設定ミスだったりしないのかな。ループバックインターフェースに対してUDP送信しているのに60%もロスしてしまうのは結構おかしい気がする。