HOME  /Synology
 /SynologyのWordPressサイトの性能改善事例
2021年02月09日

SynologyのWordPressサイトの性能改善事例

SynologyでWordPressを運用している時に、遅い!と感じる事態に遭遇しました。

そこで色々な対策を打った結果を下記に報告します。

1.正常なWordPressサイトの稼動状況

下図はこのサイト(https://nw.myds.me)のサーバの「リソース・モニター」画面です。

このサイトへのアクセスは600名/1日位ありますが、下図が対策後の正常な状態です。

■CPUはあまり利用していない

■ディスクI/Oはたまに多くなるが、すぐに収まる

■ネットワークもたまに多くなるが、すぐに収まる

■メモリは、常駐プログラムが増えると常時利用するメモリが増えます。

主なメモリ使用アプリは下記になります

アプリケーション メモリ 解説
Web Station 95MB Webアプリを処理するサーバ
DSM内部サービス 85MB SynologyのOS(DSM)のメモリ利用量
Synology calendar 62MB カレンダーアプリケーション
MariaDB10 60MB WordPressのDB
システムデータベース 26MB DSMが利用するDB
Universal Search 25MB 検索エンジン
Synology Drive Server 25MB Driveアプリケーション
Synology Office 24MB オフィスアプリケーション
PHP7.0 16MB PHPアプリケーション
Apache HTTP Server2.4 14MB アパッチHTTPサーバ
WebDAV Server 10MB WebDAVサーバ
以下省略

 

2.異常な状態と対策の経緯

このサイトに起こった問題と改善履歴を記載します。

1.サイトの性能計測やサーバ稼動状況のチェック

以前はそんなにも気にならなかったが、明らかに遅くなった!と感じ様になりました。

そこで下記の事を検証してみました

1.Googleの「Speed Insights」での性能計測

モバイルの性能はあまり良くないが、PCはそれなりに性能が出ている。

しかし、実際のPCアクセスは遅い???

 

2.Synplogyの「リソース・モニター」での確認

■CPUが平均40~50%位で、たまに70~80%のオレンジゾーン入る事がある。

■ディスクアクセスが異常に多い

このハード性能ではダメなのか?の心配がよぎりました。

 

2.プラグインの追加/削除

1.表示性能を上げる為のプラグイン「Native Lazyload」等を評価しようとしたが・・・

プラグインの追加はできるが、削除しようとするとDBが破壊!

 

「プラグイン操作→DB破壊→DB復元」を何回か繰り返した結果、下記の事が判りました。

 

私の場合は「SynologyにWebサービスを立ち上げる」でPHPエラーを検出させているので、
DBが破壊した時のプログラムは下記のプラグインである事が判明しました。

All in One SEO(Googleアナリティクスとの連携で利用)

WP Mail SMTP(お問い合わせメール送信で利用)

 

2.不具合プラグインの削除

単純にプラグインの「停止→削除」を行うとDBが破壊するので下記手順で行った

①プラグインプログラムのリネーム

「wp-content¥plugins」フォルダにある問題プラグインを下記に変更

■「all-in-one-seo-pack」を「_all-in-one-seo-pack」

■「wp-mail-smtp」を「_wp-mail-smtp」

 

②WordPressのプラグイン画面での操作

上記プラグインを削除

上記操作で、DBから削除すると共に①の「_」付きファイルも併せて削除してくれます。

 

③問題プラグインを削除した結果

■他のプラグインの追加/編集/削除が正常に行えるようになった

■「リソース・モニター」を見てみるとビックリ

性能が飛躍的に改善した!

よって、「all-in-one-seo-pack」と「wp-mail-smtp」を使わない運用に変更しました。

 

3.異常なプラグインの廃止に伴う代替手段

1.All in One SEOの廃止と新しい方法への変更

ALL in One SEOには色々な機能がありますが、私に関連する項目は下記の2つです

①XMLサイトマップの送信

私の場合はサイトマップの送信は「Google XML Sitemaps」プラグインを使っているので、この機能は利用していません。

 

②Googleアナリティクスとの連携

私は、この機能を利用する為に「ALL in One SEO」を利用していました。

 考察

私のこのサイトのアクセス評価はGoogleの「Search Console」と「アナリティクス」で行っています。

これらはGoogleの別サーバで稼動しており、ここに「このようなアクセスがあったよ!」と情報が来ると、このサーバが色々な角度からアクセス分析を行ってくれます。

すなわち、このサイトのサーバ資源は使いません。

一方、「All in One SEO」等のSEOツールは、上記連携以外に自分でもアクセス解析を行い、有料版を使ってくれれば、もっと良くなりますよ!言っているので、このサーバのリソースを使うのは当然でした。思慮が浅かったです。

よって、有料版の利用を勧める様なプラグインはそれだけ、サーバリソースも食うと考えた方が良いと思いました。

 

そこで、Googleアナリティクスとの連携はプラグインは使わずに「トラッキングコード」方式に変更しました。

1.トラッキングコードの取得方法と設定

①アナリティクスのメニューの一番下にある下図をクリックします。

②表示された画面の真ん中の列に下図の様なプロパティが表示されます。

■プロパティがターゲットのサイトである事を確認後、トラッキング情報の下にある「トラッキングコード」を開きます。

③コードをクリップボードにコピーします。

④このサイトの「header.php」の中の「/head」の前に上記コードをペーストします。

以上でこのサイトにアクセスが来ると、その情報をアナリティクスに送ってくれるようになりました。

 

2.wp-mail-smtpの廃止と新しい方法への変更

昔のwp-mail-smtpプラグインは単純なプログラムでしたが、最近のバージョンは色々な機能が追加され複雑になってきました。

 

しかしこのサイトは「GmailのSMTP」からメールを送っているので、本家本元の「Gmail SMTP」を利用する事に変更しました。

 Gmail SMTPプラグインで、GmailのSMTPからメールを送る方法

 

4.このサイトで利用しているプラグイン一覧

参考までに、このサイトで使っているプラグインをご紹介します。

これらのプラグインが稼動している状態が項番1の「リソース モニタ」画面になります。

  プラグイン名 内容
1 Classic Editor ビジュアルエディタに切り替えるプラグイン
2 Advanced Editor Tools
(previously TinyMCE Advanced)
TinyMCE Advancedの新名称

ビジュアルエディタを使い易くする

3 TinyMCE Preformatted TinyMCEにソースコードを記述できる<>を追加する

ビジュアルエディタを使い易くする

4 HTML Editor Syntax Highlighter TinyMCEには「ビジュアル」と「テキスト」がある。

このプラグインはもの「テキスト」画面を見易くする

5 the paste 画像を張り付けるプラグイン

ビジュアルエディタを使い易くする

OnePress Image Elevatorの代替プラグイン

6 WP Multibyte Patch 日本語対応プラグイン

 

7 リビジョンコントロール レビジョン数を少なくする事ができる

 

8 Native Lazyload 画像を書き出す時に属性値に「loading=’laze’」を追加する

性能改善の為のプラグイン

9 Compress JPEG & PNG images
画像(JPEG/PNG)の圧縮ツール

性能改善の為のプラグイン

10 Google XML Sitemaps
サイトマップを検索エンジンに渡すツール

SEO対策

11 Gmail SMTP
WordPressからGmailのSMTP経由でメール送信する
12 Google Authenticator WordPressを2段階認証にするツール。
セキュリティ強化
13 SiteGuard WP Plugin サイトの状態をメールで連絡するツール

セキュリティ強化

14 Akismet Anti-Spam
(アンチスパム)
スパム対策ツール

セキュリティ強化

 

以上でこのドキュメントの説明は完了です。

関連ドキュメントはメニュの「Synologyタブ」か下記の関連記事一覧から探して下さい。

又、このサイトには、Google広告が掲載されています。

この記事が貴方の参考になりましたら、広告もご覧頂ければ幸いです。


<関連記事一覧>

「synology」に関連するドキュメントを表示しています。尚、このページネーションはJquryで制御しています。

phpMyadminで、設定ファイルのパーミッションが正しくありません。誰でも書き込み可能になっています!とのエラーが出た時の対処方法を解説しています。

WordPressサイトの公開後のプログラム変更は、サイトダウン等の危険性があるので難しくなります。そこで、私が行っているSyonologyを2台使った開発環境構築事例を紹介しています。

Synologyを利用していると、このファイルはDSMの中の何処にあるのか?等を調べたくなる事があります。この様な時に利用するのがSSH接続です。この接続方法を解説しています。

WordPressのメジャーアップデート(5.5や5.6)ではWordpressの更新が失敗する事があります。このような時にサイトを修復する方法を解説しています。

ここではSynologyのphpMyAdminのインポートの504等のエラーについて解説します。このエラーは32MB以上のSQLファイルをインポートしようとした為に発生するエラーで、ここではその回避方法を解説しています。

Wordpressのセキュリティ強化の方法として「SiteGuard WP Plugin」と「Google Authenticator」の使い方を解説しています。

ここでは「WordPressの稼働環境」と「関連ドキュメント」及び「アクセスルート」の解説を行っています。

Synologyサーバで大量のデータをコピーすると数十分の時間が掛かる事があります。これを数分以内でコピーする方法を解説しています。

「PHP7.0」から「PHP7.3」に変更したや、画面が途中で表示されないという問題が発生しました。この時に対応した内容を紹介しています。

自宅や職場のLANの中に「複数台のSynologyサーバ」があり、且つ、それらをhttpsでアクセスしたい場合に、SSL証明書をどうすれば良いか?を解説しています。

私の自宅は2019年末に「IIJMIO光」から「so-net光プラス」に変更しました。その結果、外部からWebサーバにアクセス出来ないという障害が発生しました。これにどう対応したか?の履歴が記載されています。

SynologyのDSMで80/443以外のポート番号を使ったWebサイトを構築する方法を解説しています。

SynologyでWordPressのURL変更を「Search-Replace-DB」で行う為には、ポート番号指定でDBを見に行く必要があります。ここではこの使い方を解説しています。

アルバムを公開アルバムにするとPhoto Stationで公開写真WEBサイトを構築する事ができます。更に、このサイトを「検索エンジンにインデックスさせる」と更に公開範囲が広がります。ここでは公開アルバムに関連する設定を解説しています。

スマートデバイスの写真を「DS Photo」を使ってPhoto Stationにアップロードする事ができます。アップロード方法には①バックアップコマンド②アップロードコマンドがあります。①を使うと写真を撮った段階で自動的にアップロードすることが可能です。

Photo Stationにはスマートデバイス専用のアプリケーションが用意されています。これがDS Photoです。
ここではこの使い方を解説しています。

Photo Stationは基本のPhoto Station以外にDSMユーザ毎に個人用Photo Stationを作成する事ができます。
ここでは個人用Photo Stationの作成方法と使い方を説明しています。

Photo Stationの基本は「公開写真Webサーバー」です。ここではこれを特定の人達で共有する方法を解説しています。

Synologyの「Photo Station」パッケージを利用するとスマホやデジカメで撮影した写真をNASサーバの中に保管をして色々な人と共有する事が可能になります。ここではこのPhoto Stationの起動方法と「Photo Station」用語を解説しています。

FTPの定番ソフトであるFFFTPを使って、SynologyのNASと接続する方法を解説しています。また対象は暗号化なしではなく、SSL証明書を使ったFTPS接続のケースになります。

iOSデバイスのWi-Fiの設定にDNSサーバを指定する方法を解説しています。

Synologyを使い始めてから何回かアプリケーション更新後に障害が発生しました。その時にはバックアップからアプリケーションを戻しますが、その戻し方を解説しています。

SynologyのPhoto Stationを利用した時に発生したエラーとその対策を解説しています。

AndroidデバイスのWi-Fiの設定にDNSサーバを指定する方法を解説しています。

SynologyのDSMに対するアタックの見方DSMの管理者を2段階認証にする方法を解説しています。

SynoloigyのDSM6.1からMariaDB5とMariaDB10の2つのDBがリリースされました。ここではMariaDB10とこのDBをアクセスするphpMyAdminの設定方法を解説しています。

Synologyサーバに2つ以上のDDNSを使う場合はSynology以外の無償DDNSサイトから取得する必要があります。またDDNSなら何でも良いのではなく、URLで更新できるDDNSでないとSynologyでは利用できません。ここでは『Dynu.com』社のDDNSの取得方法と設定方法を解説しています。

SynologyのDSMではVer6の途中から無償のSSL発行サイトのLet’s Encryptをサポートし始めました。しかし操作はマニュアルを見てもわからないので色々試した結果を解説しています。

Synologyサーバに『NO-IP.com』のDDNSを利用する応報を解説しています。

phpmyadminのセキュリティ対策として①アクセスできる人の制限を強化する②アクセスできるIPアドレスを制限する
③プログラムの名前を変える等があり、そのやり方を解説しています。

SynologyのNASにWebサービスを立ち上げると、WordPressを使ったWebサイトや、EC-CUBEを使ったECサイト等を立ち上げる事ができます。本ドキュメントはWebサービスの立ち上げ方、仮想ホスト機能、パーソナルWebの機能について解説しています。

WordPressをインストールするとディフォルトではサイトURLはドメイン名/WordPressフォルダになります。これをドメイン名だけにする為にSynologyの仮想ホスト機能を使います。本ドキュメントはこの使い方を解説しています。

WordPressの動作環境を変更すると、DBをダイレクトに変更しなければならないケースがあります。このドキュメントはphpMyAdminのエクスポートとインポートを使って修正した事例を紹介しています。

無償DDNSのDDNSサイトのmydns.jpからドメイン名を取得する方法を記載しています。このサイトはIPアドレスの通知にクエリーパラメータ方式も利用できる無償のDDNSサイトなので、IPv6にも対応したDDNSサイトです。

Synology のサーバをhttpsでアクセスする為には、サーバ側にSSLサーバ証明書を入れる必要があります。本稿では自証証明書の作成方法からWindowsPCへの証明書の登録方法を解説しています。

synologyにVPNで接続する方法を解説しています。VPNはPPTPとL2TP/IPsecを解説しています。またWindowsでL2TP/IPsecを使う場合はレジストリを変更する必要があります。この辺も解説しています。

QuickConnectは自宅にあるSynologyのNASサーバが常時Synologyのサイトと接続されている環境を使ってインターネットからアクセスする方法です。この方法はルータの設定変更を必要としないのであまりネットワークに詳しくない人でも利用できる特徴がありますが、利用できるのは特定アプリケーションのみです。

SynologyのNASのOSはDSMになります。このドキュメントはDSMの更新方法について解説しています。

ここではSynoligyサーバを「Hyper Backup」アプリケーションで、Googleドライブにバックアップ/リストアする方法を解説しています。

Synologyを複数台持っている場合は、Synology間でバックアップを相互に持たせる事ができます。ここではその方法を解説しています。

SynologyのMariaDBから、mysqldumpを使ってDBを定期的にダンプする方法と、それを利用してWordPressを過去の時点に戻す方法を解説しています。

SynologyのNAS機能に関連するメニューは①ファイルサービス、②共有フォルダ、③グループ、④ユーザがありこれらの関連性を解説しています。また利用権限は各々のメニューの中でも設定できるため誰に何の権限を与えたか?が判りずらい為、権限設定の考え方の例を解説しています。

Synologyの自動セットアップはLAN上のDHCPサーバから割り振らてたIPアドレスが割り振られています。本稿ではこれを固定IPアドレスに変更する方法と、DSM(DiskStation Manager)にアクセスする為のポート番号の設定を解説しています。

DSM(DiskStation Manager)のログイン画面をカスタマイズする方法を解説しています。これを使う事により企業特有のログイン画面が作成できます。

SynologyのDSM6の基本画面とコントロールパネルの基本的な使い方を解説しています。

SynologyのNASは独自のDSM(DiskStation Manager)というOSで動いております。私が経験したのはDSM4、DSM5を経由し、現在はDSM6を利用しています。どのバージョンでも操作は基本的には変わりません。

Synology サーバとWindowsPCをWebDAV接続すると、インターネット環境やローカル環境からアクセス権限を持った総てのフォルダがローカルフォルダと同様に利用できるようになります。ここではこの方法を解説しています。

SynologyのWordpressパッケージをインストールする方法を解説しています。

Synology のNASをインターネットからアクセスする方法としてDDNS(Dynamic DNS)を利用する方法があります。本稿ではDDNSにSynologyのDDNSを利用する方法と、インターネットルータへのポート番号設定事例を紹介しています。

SynologyのNASにWordpressを インストールしてWebサーバを構築する場合、ローカルPCからもURLでアクセスできる必要があります。この解決方法にSynologyのDSM Serverを使う方法を解説しています。

SynologyのNASに日本語版WordPressをインストールするやり方を解説しています。複数のWordPressも同一手法で稼動させることができます。