Linux

2017-03-25, sakura

脱? さくらのVPS

大雑把な感覚でしかないのですが、10台に1台くらいの割合でハズレをひいてしまうような気がします。全く同じ構成でアプリを導入し(データの中身は違うものの)ほぼ同じオーダーのデータを処理していても、処理時間に何倍も差がつく事例が時々報告されます。違うVPSにインストールし直すとスッキリ解決するので、なにか個体差のようなものがあるのだと想像しています。

時々あれー?となるものの、概ね良好に使えていることは確かです。ベンチマークも他社に比べてかなり良いスコアを出します。

新たな障害

今回借りたVPSでは新たな問題が発生。22番以外のポートが全く応答してくれません。通常のセットアップで、sshの待受ポートをデフォルトから変更して使っているのですが、変更すると繋がらなくなります。Ubuntuではufw、CentOSではiptablesが無効化されていることを確認済みです。それどころか、apacheを立ち上げても80番ポートがconnection refusedで外から見えない状態。

追記(17.03.28): CentOS7はiptablesではなくfirewall-cmdでしたね。。こちら許可したところ無事につながりました。

Ubuntu16はufwは確かに切ってあるのですが、iptablesが生きてました(CentOSのようにデーモンとして登録されているわけでなく見つけるのに手間取ってしまいました)。

/etc/iptables/iptables.rules にssh以外の接続を拒否する設定が書かれています。ufwを使いたいので、以下の手順で真っさらにしてしまいましょう。

iptables -F
iptables-save

移転先? Google Compute Engineを試してみた

いつものベンチマーク。さくらのVPSみたいな爆速とはいきませんでしたが、Azureよりは5倍速いw 小さなウェブサービスだったらこれで十分かもしれません。月$5なのでこんなものでしょうか。

# sysbench --test=fileio --file-test-mode=rndrw prepare
# sysbench --test=fileio --file-test-mode=rndrw 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, 16Mb each
2Gb total file size
Block size 16Kb
Number of random requests for random IO: 10000
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!
Done.

Operations performed: 6000 Read, 4000 Write, 12800 Other = 22800 Total
Read 93.75Mb Written 62.5Mb Total transferred 156.25Mb (7.36Mb/sec)
  471.04 Requests/sec executed

Test execution summary:
    total time: 21.2295s
    total number of events: 10000
    total time taken by event execution: 18.2034
    per-request statistics:
         min: 0.00ms
         avg: 1.82ms
         max: 49.01ms
         approx. 95 percentile: 11.37ms

Threads fairness:
    events (avg/stddev): 10000.0000/0.00
    execution time (avg/stddev): 18.2034/0.00
 mysqlslap --no-defaults --concurrency=10 --iterations=1 --engine=innodb --number-of-queries=10000 --auto-generate-sql -uubuntu
Benchmark
Running for engine innodb
Average number of seconds to run all queries: 10.463 seconds
Minimum number of seconds to run all queries: 10.463 seconds
Maximum number of seconds to run all queries: 10.463 seconds
Number of clients running queries: 10
Average number of queries per client: 1000

SSDでも試してみました。44Mb/secはなかなかの成績ではないでしょうか? しかし、mysqlslapのスコアが落ちているのは何故なんでしょう…(ここの特性がよく分かってないせいで苦労しているのか…)。 Local SSDだともう少し速い?みたいですが、設定が面倒だったので、また次回。

# sysbench --test=fileio --file-test-mode=rndrw prepare
# sysbench --test=fileio --file-test-mode=rndrw 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, 16Mb each
2Gb total file size
Block size 16Kb
Number of random requests for random IO: 10000
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!
Done.
Operations performed: 6000 Read, 4000 Write, 12800 Other = 22800 Total
Read 93.75Mb Written 62.5Mb Total transferred 156.25Mb (44.081Mb/sec)
 2821.19 Requests/sec executed
Test execution summary:
    total time: 3.5446s
    total number of events: 10000
    total time taken by event execution: 0.0776
    per-request statistics:
         min: 0.00ms
         avg: 0.01ms
         max: 0.99ms
         approx. 95 percentile: 0.01ms
Threads fairness:
    events (avg/stddev): 10000.0000/0.00
    execution time (avg/stddev): 0.0776/0.00
# mysqlslap --no-defaults --concurrency=10 --iterations=1 --engine=innodb --number-of-queries=10000 --auto-generate-sql
Benchmark
        Running for engine innodb
        Average number of seconds to run all queries: 13.197 seconds
        Minimum number of seconds to run all queries: 13.197 seconds
        Maximum number of seconds to run all queries: 13.197 seconds
        Number of clients running queries: 10
        Average number of queries per client: 1000

参考URL

さくらのVPS(SSD)でsysbench

さくらのクラウド(SSD)でsysbench

Microsoft Azureでsysbench

この記事は役に立ちましたか?