最近、色々プラグインなどを詰め込み過ぎているのか、このブログのレスポンスが悪いので移行先のサーバを探していたのですが、先日無料申込を行った激安VPSことServerMan@VPSを思い出し、実際どの程度のレスポンスなのか気になったので、現在このサイトが稼働しているhetemlとでApache,PHP,MySQLのベンチマークテストを行ってみました。
両者の月額料金から言っておきます。ServerManは最低ランクのEntryプランだと490円(3ヶ月無料)。一方hetemlは1500円(15日間無料)です。
今回、Apache,PHP,MySQLのベンチマークテストに使ったソフトウェアは、PHPspeedというものです。WEBアプリ上でApache,PHP,MySQLのベンチマークテストを行えるということで、今回の要件にぴったりなソフトウェアです。
ベンチマークテストの比較の前にまずはサーバの基本スペックから紹介していきたいと思います。
System Info
heteml | ServerMan@VPS |
---|---|
PHP Info
heteml | ServerMan@VPS |
---|---|
MySQL Info
heteml | ServerMan@VPS |
---|---|
hetemlは共用サーバなので、自分の利用可能領域にどれだけのリソース(CPU,記憶容量,メモリ)が割り当てられているか分からないのに対して、ServerMan@VPSの方はそれらが割り当てられているのがしっかりと分かると思います。また、ServerMan@VPSの方は、Apache,PHP,MySQLとyumでインストールしただけの状態となっています。
それでは、実際にベンチマークの比較をしていきたいと思います。
ベンチマーク比較
heteml | ServerMan@VPS |
---|---|
Tests | heteml (Best Score/Avg Score) |
ServerMan@VPS (Best Score/Avg Score) |
---|---|---|
Synthetic PHP BenchMark | 3,225/3168 | 1,509/1,495 |
Synthetic MySQL BenchMark | 183/157 | 1,238/1,231 |
Synthetic Read/Write BenchMark | 2,109/2,054 | 999/993 |
Real World PHP BenchMark | 1,874/1,780 | 2,326/2,293 |
Real World PHP & MySQL BenchMark | 2,466/2,361 | 923/918 |
Server Benchmark | 532/440 | 1,132/1,128 |
パッと見MySQLのベンチマークの値に大きな開きが見えますね。hetemlはWEBサーバとDBサーバが別々になっているのも原因にあるのかもしれません。PHPの実行速度、書込・読込に関してはhetemlの方が勝っているようです。hetemlは共用サーバなのでタイミングによってはCPUリソースの多くを使えるのかもしれません。各テストの内容については下記にまとめました。
それで、これらの値が実際のWEBアプリのレスポンスとどの程度関係してくるのか、次に、WordPressの表示時間について見ていきます。
各テスト内容
Tests | 内容 |
---|---|
Synthetic PHP BenchMark | This set of benchmarks is designed to test various functions within PHP. The tests are synthetic in nature and will test the speed of your PHP install, but not necessarily the ‘real world’ performance of your site. Using this test before and after tweaks to the php.ini file and your apache http.conf file will help you determine if your tweaks have enhanced your php performance. You should never rely soley on synthetic tests; you also need to use the page loading test to determine if visitors to your website will see a benefit from your tweaks. |
Synthetic MySQL BenchMark | This set of benchmarks is designed to test how quickly mysql is reading and writing to your database. The tests are synthetic in nature and will test the speed of your mysql install, but not necessarily the ‘real world’ performance of your site. Using this test before and after tweaks to the mysql my.cnf file will help you determine if your tweaks have enhanced your database performance. You should never rely soley on sythetic tests; you also need to use our page loading test to determine if visitors to your website will see a benefit from your tweaks. |
Synthetic Read/Write BenchMark | This tests measures how fast your server reads and writes to files on the hard drive. This test is a good indicator of the effectiveness of hardware tweaks. This test is also affected by the speed of your CPU, and the amount of memory you have. |
Real World PHP BenchMark | This benchmark measures the time to load 4 PHP pages of various sizes. There are no database pulls in this benchmark, this test will measure the real world time for someone to load a PHP page on your server. Real World tests are one of the most important ways to measure your server performance as they indicate how long someone has to wait for your server to serve them a page. The test pages vary in detail to simulate a real environment. If you have a cacheing system in place on your site, you will see large fluctuations from the first test to the following tests due to cacheing after the first page load. Depending on your purpose for running this benchmark, you might run tests with cacheing off to see the benefit of some tweaks. |
Real World PHP & MySQL BenchMark | This benchmark measures the time to load 4 PHP pages of various sizes including MySQL calls in each page. This is a a ‘real world’ simulation of a dynamic web page like most of those on the web today. Real World tests are one of the most important ways to measure your server performance as they indicate how long someone has to wait for your server to serve them a page. The test pages vary in detail to simulate a real environment. If you have a cacheing system in place on your site, you will see large fluctuations from the first test to the following tests due to cacheing after the first page load. Depending on your purpose for running this benchmark, you might run tests with cacheing off to see the benefit of some tweaks. |
Server Benchmark | This benchmark throws everything we’ve got at your server to find out how fast it really is! This test can be a resource hog, so you should not run this test during your server’s peak load time. Testing includes synthetic PHP and MySQLn tests, PHP page loading with and without MySQL interaction, and file read/writing within PHP. |
WordPressのベンチマーク
WordPressの基本情報
Version | 2.9.2 |
---|---|
記事数 | 665 |
コメント数 | 90 |
ページ数 | 20 |
カテゴリ数 | 78 |
タグ数 | 696 |
テーマ | デフォルト |
クエリ数と表示時間
試行回 | heteml | ServerMan@VPS |
---|---|---|
1 | 19 queries. 0.698 seconds. | 20 queries. 0.236 seconds. |
2 | 19 queries. 1.029 seconds. | 20 queries. 0.263 seconds. |
3 | 19 queries. 0.632 seconds. | 20 queries. 0.252 seconds. |
4 | 19 queries. 0.684 seconds. | 20 queries. 0.257 seconds. |
5 | 19 queries. 0.861 seconds. | 20 queries. 0.247 seconds. |
yumで構築しただけのデフォルトの設定にも関わらず、ServerMan@VPSの方が倍以上速い上に安定していますね。APCなどのPHPアクセラレータやMySQLのチューニングを行えばさらに速くなるでしょう。それに比べてhetemlはDB回りのベンチマークが関係しているのか遅くなっている上にかなり時間にばらつきがあり不安定です。これは、hetemlが共用サーバなため、同じサーバに載っている他のユーザのプロセスがサーバリソースを使用してしまうことで、自分のプロセスが圧迫されてしまうのが原因かと思われます。ですので、この結果がばらつきのある中でのどの程度のランクの結果なのかはもう少し定期的に計測する必要があります。
今回のベンチマークテストの比較によって、ServerMan@VPSが値段の割に安定していることや、逆に、hetemlが予想以上にばらつきがあったことなどが分かりました。正直、ServerMan@VPSは500円でこのスペックなら申し分ないです。無料期間が3ヶ月もあるので、まだ申し込んでない方は是非ご自身で確かめてみて下さい。
hetemlとの契約終了が2010/11/30なのですが、近いうちにServerMan@VPSに引っ越そうかと考えています。
下記は、各テストの5回分の計測結果です。
Synthetic PHP BenchMark
heteml | ServerMan@VPS |
---|---|
Synthetic MySQL BenchMark
heteml | ServerMan@VPS |
---|---|
Synthetic Read/Write BenchMark
heteml | ServerMan@VPS |
---|---|
Real World PHP BenchMark
heteml | ServerMan@VPS |
---|---|
Real World PHP & MySQL BenchMark
heteml | ServerMan@VPS |
---|---|
Server Benchmark
heteml | ServerMan@VPS |
---|---|