クラウドVPS by GMO は、最大15日間VPSサーバーを無料で利用可能です
無料お試しを申し込んで、RockyLinux 8を使ってみました。
Linux(RockyLinux 8)に、オープンソースのRDBのPostgreSQLの性能ベンチマークプログラムpgbenchで負荷をかけて、実用的に使えるかという観点で検証しました。
クラウドVPS byGMOの売りの1つのサーバ管理ソフトのPlesk(プレスク)についても紹介します。
VPSサービスとは? Linux VPSと呼ぼう
VPSとはLinuxの仮想OS環境を提供するサービスです。
「Windows」と付かない「VPS」は、Linux-OSを利用したVPSを意味するようです。
(各社の定義は少し曖昧です)
Windows VPSとはWindowsの仮想デスクトップを提供するサービスです。
Windows VPSだと、GUIでの操作の快適さも評価観点になりますが、VPSで使うLinuxは、X-WindowのようなGUIがありません。
操作は、Telnet(TeraTerm)やSSHでLinuxサーバに接続し、CUIで黒い画面にコマンドを入力する使い方になります。
Linux-OSを使うので、コマンド操作ができないと使えません。
以下のような感じです。
(正確には、Linuxは常に接続して操作するものではないので少し違いますが)
以下の画面は操作イメージです。
Windows10からTeraTermでLinuxサーバに接続して、Linuxサーバを操作しています。
プログラムはLinux側で動作しているので、クライアントPCのスペックは低くても問題ないです。
TeraTermやSSHの端末として使える程度のスペックでいいです。
クラウドVPS byGMOの使い方
V4プラン(CPU 4vCPU、4GBメモリ、SSD 100GB)を使ってみました。
フリーのRDBのPostgreSQLをインストールして、PostgreSQLの標準ベンチマークプログラムのpgbenchを動作させてサーバの負荷(CPU、ディスク)を見ていきます。
VPSポータルにログインし、サーバ起動
ブラウザで「クラウドVPS byGMO」のVPSポータルでメールの接続情報を使ってログインします。
サーバが1台作成されていることを確認できました。
「ON」になっていなければ、「ON」ボタンを押すとサーバが起動します。
申し込み時に指定したOS(RockyLinux)がインストール済みなので、RockyLinuxが起動されます。
ターミナルエミュレータ(TeraTerm)で接続
自分のWindowsパソコンなどから、TeraTermなどのターミナルエミュレータなどでLinuxサーバに接続します。
WindowsからリモートのLinuxに接続したときの画面です。
データベースに負荷をかけての使い込み
VPSサーバのスペック
提供されたサーバのCPUは、「QEMU Virtual CPU version (cpu64-rhel6)」と表示されます。
仮想環境上に構築していて、本当のCPUを見せていないので詳細なスペックは不明。
# grep “model name” /proc/cpuinfo
model name : QEMU Virtual CPU version (cpu64-rhel6)
model name : QEMU Virtual CPU version (cpu64-rhel6)
model name : QEMU Virtual CPU version (cpu64-rhel6)
model name : QEMU Virtual CPU version (cpu64-rhel6)
$ $ cat /proc/cpuinfo processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 13 model name : QEMU Virtual CPU version (cpu64-rhel6) stepping : 3 microcode : 0x1 cpu MHz : 1999.999 cache size : 4096 KB physical id : 0 siblings : 1 core id : 0 cpu cores : 1 apicid : 0 initial apicid : 0 fpu : yes fpu_exception : yes cpuid level : 4 wp : yes
PostgreSQL 15のpgbenchで検証
オープンソースのRDBのPostgreSQLの性能ベンチマークプログラムpgbenchで負荷をかけて、問題がないか検証しました。 PostgreSQL 15 のパラメータ設定は、ディスクに負荷をかけたいのでデフォルトのままです。
postgresql.confのデフォルトの shared_buffers=128MB はそのままなので、データベースバッファキャッシュにあまりデータが乗らずにディスクI/Oが増えます。 dstatコマンドで、CPUの使用率やディスクI/Oの負荷を見ていきます。
データ登録時
50MB/秒~100MB/秒 前後コンスタントに書き込んでいます。(100MB/s)
たまに200MB/s の速度が出て、SSDの良さが発揮されています。
画面の左上:dstat、左下:mpstat、右上:pgbench実行、右下:top (-P)
creating primary key(主キー作成)のとき
主キー(Primary Key)の作成で、大量のディスクの読み込み(read)と書き込み(write)が発生します。
readもwriteも 100MB/sを超えていて、高速です。
pgbenchでPosgreSQLサーバに負荷をかけたとき
CPUがiowait(IO待ち)気味で、ディスクのI/O性能がイマイチ出ていない。
負荷に対して、CPUの力不足かコア数不足か?
もう少し上位のVPSプランの環境が手元にないので、細かい調査は行えていない。
全体的に悪くはないが、RDBに対してこの負荷をこなすにはやや力不足感がある。
ディスクに負荷の少ないWebサーバ系のアクセスだと問題ないレベルかも知れません。
利用するプランは、使う用途に応じて事前に評価したほうがいいですね
pgbenchで実行した負荷内容
参考までに実施したpgbechの引数は以下です。 10スレッドで負荷をかけています。
15GBのデータベースファイルが作成されます。
データ作成:pgbench -i -s 1000 testdb
性能測定: pgbench -c 10 -j 10 -t 10000 -N testdb
$ $ pgbench -c 10 -j 10 -t 10000 -N testdb pgbench (15.2) starting vacuum...end. transaction type: builtin: simple update scaling factor: 1000 query mode: simple number of clients: 10 number of threads: 10 maximum number of tries: 1 number of transactions per client: 10000 number of transactions actually processed: 100000/100000 number of failed transactions: 0 (0.000%) latency average = 32.882 ms initial connection time = 25.955 ms tps = 304.113666 (without initial connection time)
外部通信(インターネット)速度
外部通信(インターネット)の速度を確認しました。
月曜日の17:20に測定実施。 上りも下りも47Mpbpsで標準的なネットワーク性能ですね。
speedtestというソフトで測定。(https://www.speedtest.net/ja/apps/cli)
Plesk(プレスク)でサーバ管理
Plesk(プレスク)はコマンド操作なしで、サーバ構築・運用を実現できるサーバ管理ツールです。(有料です)
公開されている情報だけでは、理解が難しいツールです。(公開情報が少ない)
一般的な機能マニュアルしかないので、運用方法なども含めた全体的な理解が難しいですね。
サーバ管理などやったことがある方なら、動作させてみると理解が深まると思います。
VPSのPlesk(サーバー管理ツール) 【GMO公式】
Plesk クイックスタート【Plesk公式】
お客さまサポート・よくあるご質問【GMO公式】
使ってみると高機能で驚きます。もっとウェブの情報は充実して欲しいですね。。
クラウドVPS byGMOの売りの1つだと思いますが、もったいないです。
複数台のVPSサーバを使う予定の方は、一度評価してみたほうがいいと思います。
VPSはクラウド上に公開されるので、セキュリティパッチの管理とかアクセス権の管理とかを気にしたほうがいい。サーバが増えると管理が大変なので。
Pleskの操作画面
画面のイメージでおおよその機能は理解できますが、できることが多いですね。
高機能なので使いこなすには、習得時間が必要そうです。他のサーバ管理ソフトの利用経験があれば、メニューから機能が推測できるでしょう。
いくつかの機能を使ってみたので、紹介します。
利用イメージがつかめると思います。
ツールと設定
「ツールと設定」に管理用にメインの機能があります。
Linux上に見慣れないプロセス(fail2ban-server)があると思ったら、以下の機能のためですね。
管理用にオリジナルのLinux(今回使ったのはRockyLinux8)にPlesk管理用のプログラムがインストールされていて連携しています。
(Pleskはブラウザの画面、黒い画面がLinuxコンソールの画面です)
今回、Linuxサーバで、インストール済みだったPostgreSQL 10をアンインストールして、PostgreSQL 15をdnf(yum)でインストールしましたが、きちんと管理できるようです。
データベースの管理もPleskで管理できそうですが、細かい操作が分からずに今回の評価では断念。
拡張機能「Plesk Extensions」
いろいろな機能が「拡張」できます。サードパーティーのプラグインのイメージです。
Pleskの拡張機能「Plesk Extensions(プレスク エクステンション)」で、Webサイト運用、Web開発やセキュリティ強化に役立つ機能が利用可能です。
有料のものもあります。
Node.jsを選択して動作を確認しました。Node.jsのパッケージ管理コマンドnpmがLinuxサーバ上で実行されます。
インストールされていることを確認。Linux上でも確認。
その他
ちなみに、 yum (dnf)で追加でプログラムをインストール時にエラーになるので、yumのリポジトリを一時的に変更しました。
VPSポータル
Plesk(プレスク)を使わない場合は、VPSポータルでサーバの起動停止、OS再インストールなど基本的な操作が「VPSポータル」で行えます。
サーバ台数が少ない場合やソフトの入れ替えを頻繁に行わなければ、PleskなしでVPSポータルだけでもサーバの運用が可能です。
ダッシュボード画面
契約中のサーバ一覧と起動状態が表示されます。起動と停止ぐらいは可能です。
VPSコンソール
メインの操作画面です。
「コンソール」:サーバに外部から接続できない場合、コンソールからログインして調査を行います。緊急時用です。
OSの再インストールが可能です。
簡単にOSの再インストールができすぎです。。。。
別の種類のLinuxがインストールできるのかなと思い、「OS再インストール」を選択しました。
確かに警告メッセージが表示されますが、ミスで「実行」を押してしまい、きれいに初期状態に戻りました。
ミスもあるのでもう少ししつこく確認して欲しかったな。。。
ちなみに別のOSに切り替えることはできません。他社でOSの種類を変えてインストールできるタイプのVPSも存在します。
OSの切り替えが可能なLinux VPSは以下の記事を参照ください。
契約管理
プランの追加などが行えます。
無料お試しの解約方法
解約手続きは、無料お試し期間終了日の2営業日前までの手続きが必要です。
最後に
こういうものは、操作性など実際使ってみないと分からない部分が多いので、無料で試せることは非常にありがたいですね。
15日無料お試しの申し込みと、無料トライアルなしの本契約の申し込みも同じサイトです。
<<無料お試しの申し込みもここから>>
クラウドVPS byGMOの申し込み方法の詳細は以下をご参照ください。