専用サーバやVPSの基本的な設定

2ちゃんねるのサクラインターネットのVPSスレッドに専用サーバやVPSの初期設定に下記のブログのエントリが有効であると紹介されていた。

CentOSをサーバーとして活用するための基本的な設定 (さくらインターネット創業日記)

実際ひと通り揃っているので現状は基本的な設定としてこれを設定するととりあえず安心だと思う。

基本的な設定を行った後は個別に色々チューニングする部分があると思うが、個人的に設定するであろう部分を少し挙げておく。


ディスクのチューニング

ディスクの基本的なチューニングとしてatimeを使用しないようにする方法がある。通常ファイルシステムはファイルにアクセスするたびにファイルへのアクセスタイムを記録しているが通常ファイルへのアクセス時間を参照することはまずないのでかなり無駄な処理を行っていることになる。VPSの場合基本は共用サーバなのでリソースを分割して利用しているわけだが、マルチコアCPUが主流である現在はCPUよりディスクアクセスがボトルネックになる事が多いと思われる。(ディスクもRAIDかもしれないが)同一サーバ上のVPSの利用者が全員でatimeを使用しないように設定すれば多少なりとも効果があるのではないだろうか?

設定も簡単だ

$ cat /etc/fstab
/dev/sda2               /                       ext3    defaults        1 1
/dev/sda1               /boot                   ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/sda3               swap                    swap    defaults        0 0
$

となってる場合

『/』のアクセス時刻(atime)を利用しないようにするには

$ vi /etc/fstab

などとしてエディタで下記のように『noatime』を書き加える。

$ cat /etc/fstab
/dev/sda2               /                       ext3    defaults,noatime   1 1
/dev/sda1               /boot                   ext3    defaults        1 2
tmpfs                   /dev/shm                tmpfs   defaults        0 0
devpts                  /dev/pts                devpts  gid=5,mode=620  0 0
sysfs                   /sys                    sysfs   defaults        0 0
proc                    /proc                   proc    defaults        0 0
/dev/sda3               swap                    swap    defaults        0 0
$

 

リブートコマンドなどでサーバを再起動する。

$ reboot

mountコマンドでnoatimeが追加されていればOK。

$ mount
/dev/sda2 on / type ext3 (rw,noatime)
proc on /proc type proc (rw)
sysfs on /sys type sysfs (rw)
devpts on /dev/pts type devpts (rw,gid=5,mode=620)
/dev/sda1 on /boot type ext3 (rw)
tmpfs on /dev/shm type tmpfs (rw)
none on /proc/sys/fs/binfmt_misc type binfmt_misc (rw)
$


ウェブサーバのチューニング
専用サーバやVPSはそれはもう共用サーバと違って自由なので好きなウェブサーバアプリケーションをつかって好きにチューニングしてくださいとしかいいようがないが、ちょっとしたウェブアプリを動かすならLightHTTPdなど軽量で高速なhttpサーバが最近ははやりのようだ。Apacheを使う場合は、子プロセスの生成について以下で挙げられている設定が主流の様だ。

プロのサーバ管理者がApacheのStartServers, (Min|Max)SpareServers, MaxClientsを同じにする理由 – blog.nomadscafe.jp
(Min|Max)SpareServers についておもうこと – TokuLog 改メ tokuhirom’s blog
YAPC::Asia 2009で「『Ficia』インフラとPerlにまつわるエトセトラ」というタイトルでしゃべってきました – (ひ)メモ

他にも色々チューニングすべき点やメールの不正中継が出来るようになっていないかチェックしたり負荷やセキュリティーチェックを行うソフトをインストールしたりとやるべきことは色々あるが、情報は時と共に変わっていくので自分なりの設定手順書を作成して時折新しい情報で版を重ねていくといざという時に便利だ。

タグ :