「ServersMan@VPS Entry」がなぜか遅くなった

こんにちは。ryo@SubStuporHackです。

このブログをご覧になってくれている皆さんなら、もう気付いていることでしょう。

このブログ重すぎる!!!遅すぎる!!!そう思ってませんか?

もう、どれぐらい遅いのか数値で表してみましょう。

目次

このブログは現在どれほど遅いのか

まずは今のVPSの環境

ServersMan@VPS Entry プラン
CentOS 7 (64bit)
HDD 50GB
メモリ 1GB

LAMP環境

Apache

#httpd -v
より、
Server version: Apache/2.4.6 (CentOS)

Server built: Jan 12 2015 13:22:31

MariaDB

# mysql –version
mysql Ver 15.1 Distrib 5.5.41-MariaDB, for Linux (x86_64) using readline 5.1

PHP

phpinfo()より

PHP Version 5.4.16

WordPress

WordPress4.1

現在動いているアプリケーション

#systemctl

でチェックしてみました。

UNIT                                    LOAD   ACTIVE SUB       DESCRIPTION
proc-sys-fs-binfmt_misc.automount       loaded failed failed    Arbitrary Executable File Formats File System Automount Point
sys-devices-virtual-net-venet0.device   loaded active plugged   /sys/devices/virtual/net/venet0
sys-subsystem-net-devices-venet0.device loaded active plugged   /sys/subsystem/net/devices/venet0
-.mount                                 loaded active mounted   /
dev-mqueue.mount                        loaded active mounted   POSIX Message Queue File System
brandbot.path                           loaded active waiting   Flexible branding
systemd-ask-password-console.path       loaded active waiting   Dispatch Password Requests to Console Directory Watch
systemd-ask-password-wall.path          loaded active waiting   Forward Password Requests to Wall Directory Watch
session-5800600.scope                   loaded active running   Session 5800600 of user munin
session-5800620.scope                   loaded active running   Session 5800620 of user root
ajaxterm.service                        loaded active running   A web based terminal
console-getty.service                   loaded active running   Console Getty
crond.service                           loaded active running   Command Scheduler
dbus.service                            loaded active running   D-Bus System Message Bus
getty@tty1.service                      loaded active running   Getty on tty1
httpd.service                           loaded active running   The Apache HTTP Server
iptables.service                        loaded active exited    IPv4 firewall with iptables
mariadb.service                         loaded active running   MariaDB database server
munin-node.service                      loaded active running   Munin Node Server.
network.service                         loaded active exited    LSB: Bring up/down networking
quotaon.service                         loaded active exited    Enable File System Quotas
rhel-dmesg.service                      loaded active exited    Dump dmesg to /var/log/dmesg
rhel-readonly.service                   loaded active exited    Configure read-only root support
rsyslog.service                         loaded active running   System Logging Service
saslauthd.service                       loaded active running   SASL authentication daemon.
sshd.service                            loaded active running   OpenSSH server daemon
sysstat.service                         loaded active exited    Resets System Activity Logs
systemd-journald.service                loaded active running   Journal Service
systemd-logind.service                  loaded active running   Login Service
systemd-random-seed.service             loaded active exited    Load/Save Random Seed
systemd-sysctl.service                  loaded failed failed    Apply Kernel Variables
systemd-tmpfiles-setup-dev.service      loaded active exited    Create static device nodes in /dev
systemd-tmpfiles-setup.service          loaded active exited    Create Volatile Files and Directories
systemd-udev-trigger.service            loaded active exited    udev Coldplug all Devices
systemd-udevd.service                   loaded active running   udev Kernel Device Manager
systemd-update-utmp.service             loaded active exited    Update UTMP about System Reboot/Shutdown
systemd-user-sessions.service           loaded active exited    Permit User Sessions
systemd-vconsole-setup.service          loaded failed failed    Setup Virtual Console
vsftpd.service                          loaded failed failed    Vsftpd ftp daemon
vzquota.service                         loaded failed failed    LSB: Start vzquota at the end of boot
xinetd.service                          loaded active running   Xinetd A Powerful Replacement For Inetd
-.slice                                 loaded active active    Root Slice
system-getty.slice                      loaded active active    system-getty.slice
system.slice                            loaded active active    System Slice
user-0.slice                            loaded active active    user-0.slice
user-998.slice                          loaded active active    user-998.slice
user.slice                              loaded active active    User and Session Slice
dbus.socket                             loaded active running   D-Bus System Message Bus Socket
systemd-initctl.socket                  loaded active listening /dev/initctl Compatibility Named Pipe
systemd-journald.socket                 loaded active running   Journal Socket
systemd-shutdownd.socket                loaded active listening Delayed Shutdown Socket
systemd-udevd-control.socket            loaded active running   udev Control Socket
systemd-udevd-kernel.socket             loaded active running   udev Kernel Socket
dev-null.swap                           loaded active active    /dev/null
basic.target                            loaded active active    Basic System
cryptsetup.target                       loaded active active    Encrypted Volumes
getty.target                            loaded active active    Login Prompts
graphical.target                        loaded active active    Graphical Interface
local-fs-pre.target                     loaded active active    Local File Systems (Pre)
local-fs.target                         loaded active active    Local File Systems
multi-user.target                       loaded active active    Multi-User System
network.target                          loaded active active    Network
paths.target                            loaded active active    Paths
remote-fs.target                        loaded active active    Remote File Systems
slices.target                           loaded active active    Slices
sockets.target                          loaded active active    Sockets
swap.target                             loaded active active    Swap
sysinit.target                          loaded active active    System Initialization
timers.target                           loaded active active    Timers
systemd-tmpfiles-clean.timer            loaded active waiting   Daily Cleanup of Temporary Directories

GTmetrixで測定してみる。

こちらのサイトで測定してみます。

GTmetrix

Screenshot of gtmetrix.com

GTmetrix | Website Speed and Performance Optimization

結果はこちら

GTmetrixの結果

うーん。

AとC で まあまあかな〜

と思ったら大間違い!!

「Page load time」をみてください!!

25.19秒

ね!25秒以上もかかってるんですよ

25秒って、ある記事を見ようとして、クリックしたら、表示されるのは25秒後ってことですよ。

もう遅すぎて、ストレス溜まりすぎです・・・・・

Apache Bench(abコマンド)でサーバー負荷テスト

$ab -n 100 -c 10 http://stuporhacks.ddo.jp/

10人の同時接続を100回実行してみます。

ここで注意しなければいけないのは、「.jp/」と、最後、「/」がいるのです。

コマンドを実行した結果

This is ApacheBench, Version 2.3 <$Revision: 1430300 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking stuporhacks.ddo.jp (be patient)...apr_pollset_poll: The timeout specified has expired (70007)

タイムアウト・・・

これよも数を減らしても結果はダメでした・・・

負荷テストできないぐらいのサーバーということでしょうか?

ちなみに、ryo.nagoya(wp-xクラウドの月500円ぐらい)の方の結果はこちら
ryosubspornoAir:~ ryo$ ab -n 10000 -c 1000 https://ryo.nagoya/
This is ApacheBench, Version 2.3 <$Revision: 1604373 $>
Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking ryo.nagoya (be patient)
Completed 1000 requests
Completed 2000 requests
Completed 3000 requests
Completed 4000 requests
Completed 5000 requests
Completed 6000 requests
Completed 7000 requests
Completed 8000 requests
Completed 9000 requests
Completed 10000 requests
Finished 10000 requests


Server Software:        Apache
Server Hostname:        ryo.nagoya
Server Port:            80

Document Path:          /
Document Length:        68853 bytes

Concurrency Level:      1000
Time taken for tests:   72.966 seconds
Complete requests:      10000
Failed requests:        56
   (Connect: 0, Receive: 0, Length: 56, Exceptions: 0)
Total transferred:      689805336 bytes
HTML transferred:       684674232 bytes
Requests per second:    137.05 [#/sec] (mean)
Time per request:       7296.613 [ms] (mean)
Time per request:       7.297 [ms] (mean, across all concurrent requests)
Transfer rate:          9232.20 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:       38  590 747.5    282    8058
Processing:    83 3596 8526.8    334   71319
Waiting:        0  931 1671.9    309   18812
Total:        134 4186 8535.3    871   71371

Percentage of the requests served within a certain time (ms)
  50%    871
  66%   2305
  75%   3072
  80%   3891
  90%  10080
  95%  21868
  98%  37596
  99%  45901
 100%  71371 (longest request)

10000人アクセスしても、56人見れないだけで、済むという、もう良すぎて最高です!!

ServersManVPSサポートに連絡してみる

[speech_bubble type=”drop” subtype=”L1″ icon=”1.jpg” name=”僕”]
突然のご質問失礼します。

「ServersMan@VPS Entry プラン
IPアドレス(IPv4) 27.120.113.56」を利用してますが、

ここ2、3日前から、突然通信が遅くなり、

今では、トップページを見るのに、30秒かかってしまう時があるほどです。

サーバーを再起動しても同じ結果なため、サーバー自体には問題なさそうで、

転送量の非常に多いなどで、個別に制限がかかっているように見えました。

個別に制限がかかっているのか教えていただきたいです。
[/speech_bubble]

[speech_bubble type=”drop” subtype=”R1″ icon=”2.jpg” name=”ServersManVPSサポート”]
DTIのServersMan@VPSサポートでございます。
お問い合わせいただきありがとうございます。

お問い合わせの件につきまして、弊社にて確認させて
いただきましたが、制限などはなく、通常通りご利用
いただける状態でございました。

なお、弊社にてお客様のサーバーの状態を拝見したところ、
/proc/user_beancounters にて、以下項目のfailcntが
カウントされていることを確認いたしました。

———————–
tcpsndbuf 34567回
———————–

failcntは、割り当てられているシステムリソースの規定値を
超過した際にカウントされる数値であり、システムのリソースを
超えてしまっているため、ご申告の症状が発生している可能性も
ございます。

サーバーを再起動することでfailcntはリセットされますが、
再起動後もカウントされておりますことから、サーバーの
構築内容の見直しをご検討いただきますようお願いいたします。
[/speech_bubble]

どうやら、/proc/user_beancounters で確認できるそうなので見てみると、

# cat /proc/user_beancounters
Version: 2.5
       uid  resource                     held              maxheld              barrier                limit              failcnt
    70698:  kmemsize                 38181659             42934272  9223372036854775807  9223372036854775807                    0
            lockedpages                     0                    0                  256                  256                    0
            privvmpages                262844               348125  9223372036854775807  9223372036854775807                    0
            shmpages                     2437                 2461  9223372036854775807  9223372036854775807                    0
            dummy                           0                    0  9223372036854775807  9223372036854775807                    0
            numproc                        55                   96                  240                  240                    0
            physpages                  125590               188313                    0               262144                    0
            vmguarpages                     0                    0  9223372036854775807  9223372036854775807                    0
            oomguarpages                91137               150066                26112  9223372036854775807                    0
            numtcpsock                     14                   65                  360                  360                    0
            numflock                        7                   10                  188                  206                    0
            numpty                          1                    1                    8                    8                    0
            numsiginfo                      0                   30                  128                  128                    0
            tcpsndbuf                  204920              1722728              1720320              2703360                 2747
            tcprcvbuf                  199120               397168              1720320              2703360                    0
            othersockbuf                52400               422552              1126080              2097152                    0
            dgramrcvbuf                     0                 6936               262144               262144                    0
            numothersock                   49                   71                  360                  360                    0
            dcachesize               24954250             25785757  9223372036854775807  9223372036854775807                    0
            numfile                       787                 1155                 9312                 9312                    0
            dummy                           0                    0  9223372036854775807  9223372036854775807                    0
            dummy                           0                    0  9223372036854775807  9223372036854775807                    0
            dummy                           0                    0  9223372036854775807  9223372036854775807                    0
            numiptent                      24                   24                  256                  256                    0

見にくいので、スクリーンショットを

/proc/user_beancounters

確かに、tcpsendbufが越えてます。

しかし、これに対する対策がよくわかりません・・・

メモリがSwapしてないか見てみる。

free -m の結果

Swapが0なので大丈夫ですね

これらの結果を見てやってみたいこと

  1. PHPを軽くする
  2. ApacheからNginxにしてみる
  3. さくらのVPSに移行してみる

これぐらいしか思いつきません。

そもそもDTI自体のネットワークの速度が遅いと思うのです。

サーバー自体の動きなどは重くないようにみえますので、

とりあえず、Nginxなど入れてみたいのですが、それの作業をしてしまうと、サーバーが止まってしまうので、

さくらのVPSのお試しプランで新しくサーバーを立てて、そちらにもこちらのブログのクローンをおいて、ドメインのIPをそちらにした上で、

今のこの、DTIのVPSを再インストールからして、

今度は、「Nginx」でLAMP構築してみようと思います。

それでは、さくらのVPSなどを試してどうだったのか報告するのをお待ちを!


※こちらの記事は「SubStuporAlsoHacks」から移行したものです。
その時のまま記事を見たい方はこちらからどうぞ!↓

Screenshot of web.archive.org

「ServersMan@VPS Entry」がなぜか遅くなった | SubStuporAlsoHacks

投稿者プロフィール

魚住諒
魚住諒
26歳 統合失調症の回復期の認知機能障害やうつ症状などに悩んでいるが、克服して、勉強や仕事ができる頃の脳に戻したい。
愛知産業大学短期大学通信教育学部国際コミュニケーション学科卒業(英語)
2016年セブ島へ1ヶ月語学留学してきた。
WordPress/PHP/HTML/CSS/React を習得中
英語とプラグインやテーマを開発できる人になるよう日々研鑽
ジャズトランペットとガジェット関連が好きです。

[ 最近のWordPressコミュニティでの活動 ]
contents.nagoya 2019 オープンセッションスピーカー
WordCamp Haneda 2019 – START!セッションスピーカー
Aichi WordPress Meetup #9「WordPress用のレンタルサーバーの選び方 /Emmetツールの実演」
WordBench Nagoya 6月度 (初心者向け)「PHP入門からテーマ作成さらにWordPressを使う上で知っておくと幸せになることまでとことん知ろう!
Aichi WordPress Meetup #5「カスタムブロックを活用してみよう!」
2017 WordFesNagoya 実行委員 Webサイト制作チーム & セッションスピーカー
2016 WordFesNagoya 実行委員 Webサイト制作チーム & セッションスピーカー

TOEIC
2016年03月13日 LR 235 (Listening 180 Reading 55)
2018年04月08日 LR 300 (Listening 180 Reading 120)