http://tanaka.sakura.ad.jp 「さくらのVPS」を使ってみる - さくらインターネット創業日記

「さくらのVPS」を使ってみる

| コメント(1) | トラックバック(1)

先日、「さくらのVPS」のベータテストが開始されました。
私も個人的にさくらのレンタルサーバを利用しているので、7月14日にフライングして申し込みしました。
(最終テスト中だったようで、社員にまじめに怒られてしまいましたが・・。スイマセン)

まず基本仕様


  • CPU 2コア

  • メモリー 512MB

  • HDD 20GB

  • ネットワーク 100Mbps(いちおうの上限)

  • リモートコンソール付き

  • 再起動、再インストールは、セルフサービスでコンパネから可能

ホスト側は、QuadCore Xeonで、1Gbpsにて上位スイッチに接続し、10Gbpsでさくらインターネットの基幹ネットワークに接続しています。
(クローズドベータテスト中に400Mbps位出たという記事もありましたが、さすがに対策する予定です)

ハイパーバイザーは、巷の格安VPSで多く利用される、VirtuaozzoやOpenVZ、Xenの準仮想化と異なり、KVMで完全仮想化になっています。
完全に512MBの実メモリを割当しますから、ホストOS側でスワップされずパフォーマンスが低下しないですし、ゲスト環境側でスワップを用意することも可能です。

実メモリは、ゲストで必要とするメモリ容量の1.5倍?2倍程度を搭載しています。
というのは、ホストOSのメモリの2/3以上をゲストに割り当てると、過負荷時のレスポンスが急激に悪化したり、不安定になったりということが言われており、当社でも再現されているので、余裕を持った設計にしています。
さらに、ホストOSのメモリの余裕を持たすことで、ディスクI/Oも劇的によくなります。
ゲストOSのスワップ時でも、ホストOSのキャッシュに入っていれば、メモリの延長上といえるかもしれません。

このように、100Mbpsインターフェース、20GBのHDD、2 CPU、512MBメモリといっても、同種のVPSサービスとは一線を画します。
その上で、「格安VPS」といえる価格帯で出す予定にしていますので、海外にも増してメリットのあるサービスになるのではと考えています。


と、宣伝はここまでにして、早速利用してみます。


まず、私が行ったのは、sshの公開鍵を設置してrootログインできないようにすることです。
申し込み直後は、ほぼ最新のパッチを当てて出荷されますので、いきなりクラックされることは考えなくてもよいと思いますが、なんとなく不安です。
(対策として、ネットワークをシャットダウンしたまま出荷するオプションを用意するなど、検討の余地があると考えています。)

ということで、ssh-keygenを行い、/etc/ssh/sshd_configにrootでのパスワードログインを禁止します。

[root@www10xxu ~]# ssh-keygen
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
1b:f0: root@www10xxu.sakura.ne.jp
[root@www10xxu ~]#
/etc/ssh/sshd_config
変更前
PermitRootLogin yes
変更後
PermitRootLogin without-password
[root@www10xxu ~]# service sshd restart


次に無駄なデーモンをoffにします。
さくらのVPSの初期状態において脊髄反射で感じるのは「思いのほか空きメモリが少ない!」ということです。

ps -aux結果

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.1  10348   688 ?        Ss   Jul15   0:00 init [3]
root         2  0.0  0.0      0     0 ?        S<   Jul15   0:03 [migration/0]
root         3  0.0  0.0      0     0 ?        SN   Jul15   0:00 [ksoftirqd/0]
root         4  0.0  0.0      0     0 ?        S<   Jul15   0:00 [watchdog/0]
root         5  0.0  0.0      0     0 ?        S<   Jul15   0:01 [migration/1]
root         6  0.0  0.0      0     0 ?        SN   Jul15   0:00 [ksoftirqd/1]
root         7  0.0  0.0      0     0 ?        S<   Jul15   0:00 [watchdog/1]
root         8  0.0  0.0      0     0 ?        S<   Jul15   0:00 [events/0]
root         9  0.0  0.0      0     0 ?        S<   Jul15   0:00 [events/1]
root        10  0.0  0.0      0     0 ?        S<   Jul15   0:00 [khelper]
root        15  0.0  0.0      0     0 ?        S<   Jul15   0:00 [kthread]
root        20  0.0  0.0      0     0 ?        S<   Jul15   0:00 [kblockd/0]
root        21  0.0  0.0      0     0 ?        S<   Jul15   0:00 [kblockd/1]
root        22  0.0  0.0      0     0 ?        S<   Jul15   0:00 [kacpid]
root        90  0.0  0.0      0     0 ?        S<   Jul15   0:00 [cqueue/0]
root        91  0.0  0.0      0     0 ?        S<   Jul15   0:00 [cqueue/1]
root        94  0.0  0.0      0     0 ?        S<   Jul15   0:00 [khubd]
root        96  0.0  0.0      0     0 ?        S<   Jul15   0:00 [kseriod]
root       168  0.0  0.0      0     0 ?        S    Jul15   0:00 [khungtaskd]
root       169  0.0  0.0      0     0 ?        S    Jul15   0:00 [pdflush]
root       170  0.0  0.0      0     0 ?        S    Jul15   0:00 [pdflush]
root       171  0.0  0.0      0     0 ?        S<   Jul15   0:00 [kswapd0]
root       172  0.0  0.0      0     0 ?        S<   Jul15   0:00 [aio/0]
root       173  0.0  0.0      0     0 ?        S<   Jul15   0:00 [aio/1]
root       317  0.0  0.0      0     0 ?        S<   Jul15   0:00 [kpsmoused]
root       361  0.0  0.0      0     0 ?        S<   Jul15   0:00 [ata/0]
root       362  0.0  0.0      0     0 ?        S<   Jul15   0:00 [ata/1]
root       363  0.0  0.0      0     0 ?        S<   Jul15   0:00 [ata_aux]
root       373  0.0  0.0      0     0 ?        S<   Jul15   0:00 [kstriped]
root       386  0.0  0.0      0     0 ?        S<   Jul15   0:04 [kjournald]
root       407  0.0  0.0      0     0 ?        S<   Jul15   0:00 [kauditd]
root       435  0.0  0.1  12672   764 ?        S<s  Jul15   0:00 /sbin/udevd -d
root      1059  0.0  0.0      0     0 ?        S<   Jul15   0:00 [kmpathd/0]
root      1060  0.0  0.0      0     0 ?        S<   Jul15   0:00 [kmpathd/1]
root      1062  0.0  0.0      0     0 ?        S<   Jul15   0:00 [kmpath_handlerd]
root      1112  0.0  0.0      0     0 ?        S<   Jul15   0:00 [kjournald]
root      1429  0.0  0.1   5908   608 ?        Ss   Jul15   0:00 syslogd -m 0
root      1432  0.0  0.0   3804   424 ?        Ss   Jul15   0:00 klogd -x
dbus      1492  0.0  0.1  21256   964 ?        Ss   Jul15   0:00 dbus-daemon --system
root      1501  0.0  0.1   3800   580 ?        Ss   Jul15   0:00 /usr/sbin/acpid
68        1509  0.0  0.7  30604  3660 ?        Ss   Jul15   0:00 hald
root      1510  0.0  0.2  21692  1056 ?        S    Jul15   0:00 hald-runner
68        1518  0.0  0.1  12324   844 ?        S    Jul15   0:00 hald-addon-acpi: listening on acpid socket /var/run/acpid.socket
68        1523  0.0  0.1  12324   848 ?        S    Jul15   0:00 hald-addon-keyboard: listening on /dev/input/event0
root      1532  0.1  0.1  10228   680 ?        S    Jul15   4:09 hald-addon-storage: polling /dev/hdc
root      1547  0.0  0.2  62624  1208 ?        Ss   Jul15   0:00 /usr/sbin/sshd
ntp       1558  0.0  0.9  23388  5028 ?        SLs  Jul15   0:00 ntpd -u ntp:ntp -p /var/run/ntpd.pid -g
root      1576  0.0  0.4  69004  2348 ?        Ss   Jul15   0:00 sendmail: accepting connections
smmsp     1584  0.0  0.3  59764  1800 ?        Ss   Jul15   0:00 sendmail: Queue runner@01:00:00 for /var/spool/clientmqueue
root      1593  0.0  0.2  19708  1144 ?        Ss   Jul15   0:00 crond
root      1601  0.0  0.0  18732   456 ?        Ss   Jul15   0:00 /usr/sbin/atd
root      1615  0.0  0.2  52108  1332 ?        Ss   Jul15   0:00 login -- root
root      1616  0.0  0.0   3792   480 tty2     Ss+  Jul15   0:00 /sbin/mingetty tty2
root      1617  0.0  0.0   3792   484 tty3     Ss+  Jul15   0:00 /sbin/mingetty tty3
root      1628  0.0  0.0   3792   480 tty4     Ss+  Jul15   0:00 /sbin/mingetty tty4
root      1629  0.0  0.0   3792   480 tty5     Ss+  Jul15   0:00 /sbin/mingetty tty5
root      1640  0.0  0.0   3792   480 tty6     Ss+  Jul15   0:00 /sbin/mingetty tty6
root      1641  0.0  0.1   3800   536 ttyS0    Ss+  Jul15   0:00 /sbin/agetty -h 115200 ttyS0 vt100
root      1684  0.0  3.1 201952 15920 ?        SN   Jul15   0:00 /usr/bin/python -tt /usr/sbin/yum-updatesd
root      1686  0.0  0.2  12916  1160 ?        SN   Jul15   0:00 /usr/libexec/gam_server
root      1722  0.0  0.6  90320  3528 ?        Ss   Jul15   0:00 sshd: root@pts/0
root      1724  0.0  0.2  10932  1440 pts/0    Ss+  Jul15   0:00 -bash
root      1758  0.0  0.2  10928  1372 tty1     Ss+  Jul15   0:00 -bash
root     10606  0.0  0.6  91048  3380 ?        Rs   13:17   0:00 sshd: root@pts/1
root     10608  0.0  0.2  10932  1392 pts/1    Ss   13:17   0:00 -bash
root     10643  0.0  0.1  10460   876 pts/1    R+   13:38   0:00 ps -aux

まず、コンソール(mingetty)はこんなに要らないので、減らします。

/etc/inittabを以下のように編集


# Run gettys in standard runlevels
1:2345:respawn:/sbin/mingetty tty1
#2:2345:respawn:/sbin/mingetty tty2
#3:2345:respawn:/sbin/mingetty tty3
#4:2345:respawn:/sbin/mingetty tty4
#5:2345:respawn:/sbin/mingetty tty5
#6:2345:respawn:/sbin/mingetty tty6

デーモンも減らします。

[root@www10xxu ~]# chkconfig yum-updatesd off
[root@www10xxu ~]# chkconfig haldaemon off
[root@www10xxu ~]# chkconfig yum-updatesd off
[root@www10xxu ~]# chkconfig acpid off
[root@www10xxu ~]# chkconfig messagebus off

これで再起動すれば、ずいぶんとメモリの空きができます。
再起動後に確認すると、使用中は150MBとなっていました。もう少しがんばれば、もっと削減できそうです。


なお、unixbenchも実行してみました。
index scoreは1540.6ですので、そこそこ速いのではないでしょうか。

   #    #  #    #  #  #    #          #####   ######  #    #   ####   #    #
   #    #  ##   #  #   #  #           #    #  #       ##   #  #    #  #    #
   #    #  # #  #  #    ##            #####   #####   # #  #  #       ######
   #    #  #  # #  #    ##            #    #  #       #  # #  #       #    #
   #    #  #   ##  #   #  #           #    #  #       #   ##  #    #  #    #
    ####   #    #  #  #    #          #####   ######  #    #   ####   #    #

Version 5.1.2 Based on the Byte Magazine Unix Benchmark

Multi-CPU version Version 5 revisions by Ian Smith,
Sunnyvale, CA, USA
December 22, 2007 johantheghost at yahoo period com


1 x Dhrystone 2 using register variables 1 2 3 4 5 6 7 8 9 10

1 x Double-Precision Whetstone 1 2 3 4 5 6 7 8 9 10

1 x Execl Throughput 1 2 3

1 x File Copy 1024 bufsize 2000 maxblocks 1 2 3

1 x File Copy 256 bufsize 500 maxblocks 1 2 3

1 x File Copy 4096 bufsize 8000 maxblocks 1 2 3

1 x Pipe Throughput 1 2 3 4 5 6 7 8 9 10

1 x Pipe-based Context Switching 1 2 3 4 5 6 7 8 9 10

1 x Process Creation 1 2 3

1 x System Call Overhead 1 2 3 4 5 6 7 8 9 10

1 x Shell Scripts (1 concurrent) 1 2 3

1 x Shell Scripts (8 concurrent) 1 2 3

2 x Dhrystone 2 using register variables 1 2 3 4 5 6 7 8 9 10

2 x Double-Precision Whetstone 1 2 3 4 5 6 7 8 9 10

2 x Execl Throughput 1 2 3

2 x File Copy 1024 bufsize 2000 maxblocks 1 2 3

2 x File Copy 256 bufsize 500 maxblocks 1 2 3

2 x File Copy 4096 bufsize 8000 maxblocks 1 2 3

2 x Pipe Throughput 1 2 3 4 5 6 7 8 9 10

2 x Pipe-based Context Switching 1 2 3 4 5 6 7 8 9 10

2 x Process Creation 1 2 3

2 x System Call Overhead 1 2 3 4 5 6 7 8 9 10

2 x Shell Scripts (1 concurrent) 1 2 3

2 x Shell Scripts (8 concurrent) 1 2 3

========================================================================
BYTE UNIX Benchmarks (Version 5.1.2)

System: www1010u.sakura.ne.jp: GNU/Linux
OS: GNU/Linux -- 2.6.18-194.8.1.el5 -- #1 SMP Thu Jul 1 19:04:48 EDT 2010
Machine: x86_64 (x86_64)
Language: en_US.utf8 (charmap="UTF-8", collate="UTF-8")
CPU 0: Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz (5319.4 bogomips)
x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
CPU 1: Intel(R) Core(TM)2 Duo CPU T7700 @ 2.40GHz (5290.9 bogomips)
x86-64, MMX, Physical Address Ext, SYSENTER/SYSEXIT, SYSCALL/SYSRET
10:15:43 up 1 day, 19:18, 2 users, load average: 0.02, 0.02, 0.00; runlevel 3

------------------------------------------------------------------------
Benchmark Run: Sat Jul 17 2010 10:15:43 - 10:43:56
2 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables 14188657.9 lps (10.0 s, 7 samples)
Double-Precision Whetstone 3011.2 MWIPS (9.8 s, 7 samples)
Execl Throughput 1775.5 lps (29.6 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 709457.6 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 210832.6 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 1449865.3 KBps (30.0 s, 2 samples)
Pipe Throughput 1955338.6 lps (10.0 s, 7 samples)
Pipe-based Context Switching 259909.8 lps (10.0 s, 7 samples)
Process Creation 8795.8 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 4125.4 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 1416.6 lpm (60.0 s, 2 samples)
System Call Overhead 3385128.4 lps (10.0 s, 7 samples)

System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 14188657.9 1215.8
Double-Precision Whetstone 55.0 3011.2 547.5
Execl Throughput 43.0 1775.5 412.9
File Copy 1024 bufsize 2000 maxblocks 3960.0 709457.6 1791.6
File Copy 256 bufsize 500 maxblocks 1655.0 210832.6 1273.9
File Copy 4096 bufsize 8000 maxblocks 5800.0 1449865.3 2499.8
Pipe Throughput 12440.0 1955338.6 1571.8
Pipe-based Context Switching 4000.0 259909.8 649.8
Process Creation 126.0 8795.8 698.1
Shell Scripts (1 concurrent) 42.4 4125.4 973.0
Shell Scripts (8 concurrent) 6.0 1416.6 2361.0
System Call Overhead 15000.0 3385128.4 2256.8
========
System Benchmarks Index Score 1157.7

------------------------------------------------------------------------
Benchmark Run: Sat Jul 17 2010 10:43:56 - 11:12:10
2 CPUs in system; running 2 parallel copies of tests

Dhrystone 2 using register variables 27985122.2 lps (10.0 s, 7 samples)
Double-Precision Whetstone 5992.4 MWIPS (9.7 s, 7 samples)
Execl Throughput 7332.5 lps (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks 218518.6 KBps (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks 63801.8 KBps (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks 502186.1 KBps (30.0 s, 2 samples)
Pipe Throughput 3771938.1 lps (10.0 s, 7 samples)
Pipe-based Context Switching 775819.3 lps (10.0 s, 7 samples)
Process Creation 20049.5 lps (30.0 s, 2 samples)
Shell Scripts (1 concurrent) 9979.2 lpm (60.0 s, 2 samples)
Shell Scripts (8 concurrent) 1579.2 lpm (60.0 s, 2 samples)
System Call Overhead 5635202.3 lps (10.0 s, 7 samples)

System Benchmarks Index Values BASELINE RESULT INDEX
Dhrystone 2 using register variables 116700.0 27985122.2 2398.0
Double-Precision Whetstone 55.0 5992.4 1089.5
Execl Throughput 43.0 7332.5 1705.2
File Copy 1024 bufsize 2000 maxblocks 3960.0 218518.6 551.8
File Copy 256 bufsize 500 maxblocks 1655.0 63801.8 385.5
File Copy 4096 bufsize 8000 maxblocks 5800.0 502186.1 865.8
Pipe Throughput 12440.0 3771938.1 3032.1
Pipe-based Context Switching 4000.0 775819.3 1939.5
Process Creation 126.0 20049.5 1591.2
Shell Scripts (1 concurrent) 42.4 9979.2 2353.6
Shell Scripts (8 concurrent) 6.0 1579.2 2632.1
System Call Overhead 15000.0 5635202.3 3756.8
========
System Benchmarks Index Score 1540.6

と、雑多にまとめてみました。

なお、ただいまベータテスト中で、追加予定機能は山のようにあるので、状況を見ながらアップデートして行きたと思います。
ツイッターでもさまざまな要望を頂いていますが、ぜひ参考にさせていただきたいので、コンパネ上の「ご意見・ご要望」もご活用ください。

トラックバック(1)

トラックバックURL: http://tanaka.sakura.ad.jp/mt/mt-tb.cgi/1008

今月に入り、ついにさくらインターネットのさくらのVPSも正式リリースされました。DTIのServersMan@VPSもメモリを2倍に強化、IPv6の逆引き... 続きを読む

コメント(1)

田中さま初めまして、斎藤と申します。
以前、渡部氏がアゴラへ

【月を追い掛けるGoogleクラウド】
http://agora-web.jp/archives/1039118.html

というエントリを載せられましたが、
そこで田中さまの後にコメントした者です。

本日は自身のブログで「さくらインターネットの社員の方」と
記載してしまったお詫びに参りました。


渡部氏のエネルギーの最大効率化、外気のみの冷却方法は、
もしかしたら理想論かもしれません。
この辺りはデータセンターを実際に管理する方との
ギャップがある事は事実と思います。

しかし、もしGoogleがそれを達成してしまったとき、
果たしてどうなるのかと想いを巡らせております。

私はどちらに傾倒しているというワケでもありません。
お二方とも応援させて頂いており、
また私もそこに参加せねばと思っております。

長々と失礼致しました。

コメントする

自己紹介

本名:田中邦裕/1978年生まれ
1996年にさくらインターネットを創業しホスティングサービスを開始。 98年に有限会社インフォレスト(2000年に解散)設立後、翌年にさくらインターネット株式会社を設立して社長に就任。
05年に東証マザーズに上場
kunihirotanakaをフォローしましょう

このブログ記事について

このページは、田中邦裕が2010年7月17日 13:13に書いたブログ記事です。

ひとつ前のブログ記事は「「さくらのVPS」はじまります」です。

次のブログ記事は「さくらのVPS提供開始にあたり」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

ウェブページ

Powered by Movable Type 6.0.6