HOME  /Synology(IPv4)
 /SynologyのWordPressサイトの性能改善事例
2023年11月28日

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の「リソース モニタ」画面になります。

No  プラグイン名 内容
1 Advanced Editor Tools TinyMCE Advancedの新名称

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

2 Akismet Anti-Spam スパム対策ツール

セキュリティ強化

3 Disable Gutenberg ブロックエディター&ブロックウィジェットの無効化

昔のビジュアルエディタが使えるようになる

4 Gmail SMTP WordPressからGmailのSMTP経由でメール送信するツール
5 Google Authenticator WordPressを2段階認証にするツール。
セキュリティ強化
6 Google XML Sitemaps サイトマップを検索エンジンに渡すツール

SEO対策

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

このプラグインは「テキスト」エディタを見易くする

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

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

現在は利用を中止

理由はWordPress 6.0.1のコンテンツ表示でエラーが出るため利用を断念しました。

9 SiteGuard WP Plugin サイトの状態をメールで連絡するツール

セキュリティ強化

10 the paste 画像をクリップボード経由で張り付けるプラグイン

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

11 TinyMCE Preformatted ビジュアルエディタにソースコードを追加すプラグイン

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

12 TinyPNG JPEG, PNG & WebP image compression 画像(JPEG/PNG)の圧縮ツール

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

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

 

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

 

 

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

関連ドキュメントは下記の関連記事一覧から探して下さい。


<関連記事一覧>

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

Synology Mail Serverは、Synologyのユーザにメールを利用させる簡易メールシステムです。本格的にメールシステムを構築する場合はMailPlusを利用する事をお勧めします。

このドキュメントはGmailで受信トレイにあったこのメールを [迷惑メール] として報告しましたで表示される迷惑メールの対策方法を記述しています。

このドキュメントは自宅にWebサーバがある為に、インターネット接続に[PPPoE]と[IPoE]を併用したいが・[PPPoE]と[IPoE]の違いがよく判らない・併用方法にはどの様な種類があるのかを知りたい・具体的な接続方法の注意点を知りたい人を対象に作成しました。

NTT東西の光回線のISPを調べると昔は「IPv4」と「PPPoE」だけでしたが、最近は「IPv6」と「IPoE」という新しいキーワードがでてきてより複雑になってしまいました。そこでNTT本体の資料から歴史をまとめ直し、これらの違いを説明しています。

ここではPR-S300NEで2つのインターネット回線をマルチセッションで利用する方法を解説しています。

ここではThunderbird 102.2.2 のメールの並び順を変更する方法を解説しています。特に1つのフォルダに設定した並び順を他のフォルダに一括コピーする方法も解説しています。

ここではThunderbird 102.2.2 のカレンダーの土日、先月・次月、先月・次月の土日の背景色を変更する方法を解説しています。

Thunderbirdは「メール」や「カレンダ」を操作するデスクトップアプリケーションです。Webで複数のメールを操作するより一つのアプリケーションで操作できるので便利です。

ここではSynology Photosの共有フォルダを利用してDSMユーザ間で写真を共有する方法を解説しています。

ここではSynology Photosを利用してスマホの写真をSynologyの中に自動バックアップする方法を解説しています。

ここではSynology Photosの操作の基本を解説しています。

DSM7になって「Photo Station」が無くなったように見えますが、「Synology Photos」は「Photo Station」の後継です。しかし考え方が大きく変わっています。ここではその違いと関連ドキュメントを解説しています。

ここではDSM6からDSM7へのアップグレード方法とDSM7からDSM6へのダウングレード方法を解説しています。

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

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

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

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

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

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

ここでは、SynologyのNASの中でWordPressがどの様に稼働するか?を解説しています。

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

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

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

最近のISPは自社設備のPPPoEに加え、ISPが契約したVNE業者のIPoEを併用提供しています。一方、自宅内にWebサーバ等があるとPPPoEとIPoEの併用が必要となります。ここではその併用方法を解説しています。

Synoligy High AvailabilityはSynology社が開発したHAシステムで2台のNASを1台の仮想NASとする事により、メインNASが停止してもサブのNASに自動的に引き継ぐ事により停止時間を短くさせる事ができます。どうしても止めたくないADやWebサイトの高可用性を実現します。

Synologyのサーバを複数台所有していると、このアプリケーションはこちらのサーバに移行したい等のニーズが発生します。
ここでは「Hyper Backup」を使った移行方法を解説します。

MailPlus Serverから他のメールサーバにメールを送った際、相手に「安全なメールだ!」と判断される事が重要です。すなわち迷惑メールにならない送り方を調べた結果を解説しています。

Synologyのハードウェアを新しい物に変更する方法は色々ありますが、ここでは「Hyper Backup」を使った移行方法を解説しています。この方法は旧システムがそのまま残っているので、比較しながらの移行が可能になります。

複数台のSynologyサーバを運用していると、他のサーバのフォルダを自分のサーバにマウントしたい事が発生します。
これを行う1つの方法が「File Station」のリモートフォルダのマウントです。ここではこの接続と解除を説明しています。

複数台のSynologyサーバを運用していると、他のサーバのフォルダを自分のサーバにマウントしたい事が発生します。
これを行う1つの方法が「File Station」のリモート接続のWebDAVです。ここではこの接続と解除を説明しています。

MailPlus Serverを立ち上げると、さすがメールサーバと思う程に外部からのアタックが増加します。そこでここではメールサーバをより安全に運用する方法を解説しています。

Synology Driveとは、File Stationの使いづらい機能を大幅に改善したプライベートクラウドで①File Stationでは表示できなかったファイルが「Viewerソフト」で表示できるようになる②Synology Officeを使って「スプレッドシート」や「ドキュメント」及び「スライド」文書が作成できる様になる③「Driveの個人フォルダ」と「個人PCのフォルダ」を同期する事により、個人PCのデータ保護ができる様になる等の機能を持っています。ここではものソフトの使い方を解説しています。

Synologyのメール(MailPlus)やカレンダ(Calender)にはデスクトップアプリケーションがありません。そこでThunderbirdでこれらを呼び出す事によりローカルアプリケーションでこれらを操作する方法を解説しています。

Synology ChatはDSMユーザ間のチャットツールです。DSMユーザ以外にゲストユーザも招致する事もできます。また通常チャットに加え、ビデオ会議の「jitsi Meet」を呼び出す事もできます。

スパムメールが嫌なので今までメールはGMAILを使っていました。しかしSynologyの「MailPlus Server」にはスパム対策やウィルス対策ソフトがバンドルされていることを知り、この機会にこのメールシステムを使ってみる事にしました。ここではこれの使い方を解説しています。

ここでは「Synology Calendar」の利用方法を解説しています。またThunderbirdやandroid及びiOSから「Synology Calendar」を利用する方法も解説しています。

Synologyサーバが1台の時はローカルユーザで管理すれば良いのですが、複数台になるとユーザ管理はLDAP又はAD(Active Directory)、アクセス権は個々のSynologyで管理するのが望ましくなります。ここでは「Windows Server CAL」が不要なSynologyの「Active Directory server」を使ったAD構築方法を解説しています。

SynologyのNASをLDAPの配下で動かす事ができます。LDAPサーバは「IBM Lotus Domino」や「Open Directory」でも良いのですがSynologyの「Directory Server」を利用する事もできます。ここではSynologyの「Directory Server」を使ったLDAP環境を構築する方法を解説します。

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に対する外部からのアタックに対する防御方法を解説しています。

ここではMariaDB10とこのDBをアクセスするphpMyAdminの設定方法を解説しています。尚、phpMyAdminについては「インストールとID設定」「機能追加」「起動方法」「インポートサイズの変更」を解説しています。

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

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

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

SynologyのNASのphpmyadminのセキュリティ対策として2要素認証を利用する方法を解説しています。尚、スマホを紛失した時の対応方法も解説しています。

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、OpenVPNです。またDSM7からか接続はできるが遅い、応答しない?等が発生し、この解決策もここで解説しています。

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を経由し、現在はDSM7を利用しています。どのバージョンでも操作は基本的には変わりません。

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も同一手法で稼動させることができます。