前回記事
僕はVPSの格安プランに申し込んだのでメモリ領域は512MBしかありません。
個人のWebサイトだけであれば充分ですが、それならレンタルサーバーの方が安いのでわざわざVPSにはしていません。もちろん他にもアプリを動かします。もし、何かしらでアクセスが集中するとサーバーが落ちてしまいます。そのための予防手段です。
システムで使用されているメモリーを調べるために再起動
sudo reboot
freeで確認すると
free
total used free shared buff/cache available
Mem: 499452 83992 281768 4596 133692 386772
Swap: 2097148 0 2097148
最初から約300MB弱しか余裕が無いのが解ります。
ここでhttpdを立ち上げてDjangoの初期ページにアクセスしてみました。
sudo systemctl start httpd
再度確認
free
total used free shared buff/cache available
Mem: 499452 165212 178624 4684 155616 304212
Swap: 2097148 0 2097148
そうすると200MB弱しか余裕が無くなります。Apache、djangoを起動させたので当然です。
メモリーは環境にもよりますが、Webページ1件のアクセスで約20MB〜30MB消費されるとされています。(今回はデフォルトページの表示だけで大したことはありませんが)
ベリーキュート Blog » Blog Archive » Webサイトのアクセス数増加と必要メモリ
そうなると同時に10件や20件のアクセスがあるとあっという間にメモリー不足に陥ります。
メモリー不足に陥ったサーバーはSwap領域というストレージ上にメモリー領域を確保しにいきます。
上の表のSwapと表されているところがメモリー領域として確保されているストレージ領域です。メモリーが足りている場合は当然使用量は0です。
Swap領域は本来高速なRAMメモリーへのアクセスが必要な処理をストレージで補うのでRAMメモリーより低速です。
ですが、Conohaのストレージは全てHDDよりは高速なSSDです。
これを活かさない手はありません。
メモリー不測の事態でも、遅くなっても仕事はしてくれます!
ということでSwap領域を拡大します。
Linux の SWAP 領域を増やす : まだプログラマーですが何か?
今、約2GBのswapが確保されているのでさらに+2GBの余裕を持たせることにします。
まずはddコマンドで2GBのファイルを作ります。
sudo dd if=/dev/zero of=/var/swapfile bs=1M count=2048
2048+0 records in
2048+0 records out
2147483648 bytes (2.1 GB) copied, 4.59156 s, 468 MB/s
swapファイルとします。
sudo mkswap /var/swapfile
Setting up swapspace version 1, size = 2097148 KiB
no label, UUID=b865b7eb-584e-444e-age3-dc4fefei
swapとして登録します。
sudo swapon /var/swapfile
swapon: /var/swapfile: insecure permissions 0644, 0600 suggested.
fstabに作ったswap領域を追記します。
sudo nano /etc/fstab
/var/spool/swap/swapfile none swap defaults 0 0
/var/swapfile swap swap defaults 0 0 <=追記
これで再起動後もこのファイルがswapとして扱われます。
確認します。
free
total used free shared buff/cache available
Mem: 499452 270908 5876 4676 222668 198116
Swap: 4194296 0 4194296
これでSwapが4Gとして認識されています。
Swapを解除するには
sudo swapoff /var/swapfile
として、追記したfstabファイルからも削除します。
実際にこんなに必用か?と問われると・・同時に100件アクセス?一生必用無いかもしれません。しかし、もしストレージいっぱいまで使ってしまってから確保するとなると難しいので予め確保しておきます。
実際に500MBを絶えず軽く超えてくるようなアクセスがある場合はサーバーの追加でWebページの移転作業となるでしょう。その際にも4GBもの余裕があると慌てずに済むでしょう。
ちなみにこの方法だとサーバーを再起動しなくてもswap確保できるのだそうです。
※過去記事では、RaspberryPiの場合はSwapを使うとSDカードの寿命に影響を及ぼす可能性があるのでSwapを無効にしていました。
Conohaで使われているSSDもフラッシュメモリですが、VPSの場合はミラー化してあったりと物理的に寿命がくるようなシステムは全て管理され定期的に交換されていますので、ユーザーはストレージ寿命を全く気にすることなくストレージを使う事が出来ます。このあたりも自宅サーバーよりVPSをオススメする重要な要素です。
全5回に渡ってVPS導入からセキュリティー対策等の使い方を備忘録として記しました。
またどなたかの約に立てば幸いです。
#memo:
ここまでの設定をイメージ保存
SELinuxデフォ無効