WordPressのキャッシュを比較してみる

WordPressでどのようなツールでキャッシュするとどうなのか比較してみました。

 

初期値のスペック。

GTMETRIXで比較(https://gtmetrix.com/

 

abコマンド(ab -n 1 -c 1):Requests per second: 1.67 [#/sec] (mean)

abコマンド(ab -n 10 -c 10):Requests per second: 2.39 [#/sec] (mean)

abコマンド(ab -n 100 -c 100):Requests per second: 1.78 [#/sec] (mean)

abコマンド(ab -n 1000 -c 100):NG

スペックをかなり落としているのでここまでらしい…

 

 

kusanagiのbcacheをON

 

abコマンド(ab -n 1 -c 1):Requests per second: 24.79 [#/sec] (mean)

abコマンド(ab -n 10 -c 10):Requests per second: 71.82 [#/sec] (mean)

abコマンド(ab -n 100 -c 100):Requests per second: 134.61 [#/sec] (mean)

abコマンド(ab -n 1000 -c 100):Requests per second: 362.26 [#/sec] (mean)

abコマンド(ab -n 10000 -c 1000):Requests per second: 274.28 [#/sec] (mean)

 

「onにします。失敗しました。WP_CACHE定数が重複して定義されています。完了しました。」と表示される場合

キャッシュはONではありません。ややこしいのですが「wp-config.php」に下記の行が必要です。重複でないのでメッセージがややこしくしてます。

define('WP_CACHE', true);

 

WordPressプラグインのWP Super Cacheを使用

※kusanagiのキャッシュはオフ

とりあえず、設定は初期値で。キャッシュを有効化

abコマンド(ab -n 1 -c 1):Requests per second: 95.30 [#/sec] (mean)

abコマンド(ab -n 10 -c 10):Requests per second: 137.31 [#/sec] (mean

abコマンド(ab -n 100 -c 100):Requests per second: 394.15 [#/sec] (mean)

abコマンド(ab -n 1000 -c 100):Requests per second: 744.06 [#/sec] (mean)

abコマンド(ab -n 10000 -c 1000):Requests per second: 886.51 [#/sec] (mean)

 

キャッシュの結果まとめ

-N1 -C1 -N10 -C10 -N100 -C100 -N1000 -C100 -N10000 -C1000
初期値 1.67 2.39 1.78
bache 24.79 71.82 134.61 362.26 274.28
WP Super Cache 95.3 137.31 394.15 744.06 886.51

 

あれ、kusanagiのbacheよりwp super cacheの方が1秒間あたりに処理できる数が多いことが判明!!

bacheにこだわっていたがそうでもないようだ。ただ、これは計測結果の一つなので環境やHP構成によっても異なるので注意を。

 

 

kintoneをはじめてみました。

この度「kintone」(キントーン)を始めてみることにしました。

 

kintone(キントーン)とは

 

サイボウズのkintoneでは、顧客管理、案件管理、アンケート、〇〇業務…などなど多目的に利用できるツールです。

くわしくは↓

https://kintone.cybozu.co.jp/

 

簡単にフォームを作ることはできるのですが、IF文などはjavascriptにて作成するとのこと。

例:選択Aが選択されているときだけ有効になる入力ボックス等

 

下準備

とりあえず、デベロッパー登録

https://developer.cybozu.io/hc/ja

 

そして、チュートリアル

 

まあ、簡略するとjavascriptを使うときには自分で作ったファイルをアップロードするかJSEdit for kintoneを利用するようだ。

「JSEdit for kintone」はJSEdit for kintoneを使ってみようコーナーからダウンロードしてプラグインとして読み込む。

 

その後、個別のアプリで「アプリの設定」>「プラグイン」から「JSEdit for kintone」プラグインを追加する。

追加したプラグインの設定欄の歯車からコード作成画面を開くことが可能

 

覚えたてのhogehogeコード

詳細を開いたときに処理を行う

    kintone.events.on('app.record.detail.show', function(e) {
~略~
    });

※「https://developer.cybozu.io/hc/ja/articles/360000903686」を参照

 

一覧を表示したときに処理を行う

    kintone.events.on('app.record.index.show', function(e) {
~ 略 ~
    });

※「https://developer.cybozu.io/hc/ja/articles/360000903686」を参照

 

イベントはまとめて書くとよいみたいなので

    var events = ['app.record.detail.show',
        'app.record.create.show'];

    kintone.events.on(events, function(event) {
~略~

 });

って感じで詳細のときと追加の時の処理になる。

 

↓イベント。チュートリアルサイトより。

| app.record.detail.show | レコード詳細画面表示時 |
| app.record.create.show | レコード追加画面表示時 |
| app.record.create.change.past | レコード追加画面表示でフィールドコード[past]変更時 |
| app.record.create.change.radio2 | レコード追加画面表示でフィールドコード[radio2]変更時 |
| app.record.create.change.radio3 | レコード追加画面表示でフィールドコード[radio3]変更時 |
| app.record.create.change.radio4 | レコード追加画面表示でフィールドコード[radio4]変更時 |
| app.record.create.change.radio5 | レコード追加画面表示でフィールドコード[radio5]変更時 |
| app.record.edit.show | レコード編集画面表示時 |
| app.record.edit.change.past | レコード編集画面表示でフィールドコード[past]変更時 |
| app.record.edit.change.radio2 | レコード編集画面表示でフィールドコード[radio2]変更時 |
| app.record.edit.change.radio3 | レコード編集画面表示でフィールドコード[radio3]変更時 |
| app.record.edit.change.radio4 | レコード編集画面表示でフィールドコード[radio4]変更時 |
| app.record.edit.change.radio5 | レコード編集画面表示でフィールドコード[radio5]変更時 |

 

よくある「その他」の選択肢を選ぶと理由を書く場合(選択肢(input_select)、理由ボックス(input_select_other)とした場合

    //レコードの追加、編集、詳細画面で適用する
    var events = ['app.record.detail.show',
        'app.record.create.show',
        'app.record.edit.show',
        'app.record.create.change.input_select', 
        'app.record.edit.change.input_select'];

    kintone.events.on(events, function(event) {
        var record = event.record;
        var input_select = record['input_select']['value'];
        if (input_select === 'その他') {
            kintone.app.record.setFieldShown('input_select_other', true);
        } else {
            kintone.app.record.setFieldShown('input_select_other', false);
        }
    });

こんな感じでその他の選択肢が表示非表示となる。

 

 

 

Zoomのブレークアウトルームを使ってみる

Zoomにもいろいろな機能があり、使ってみないと??っていうわからない機能があります。その中の機能で気になったのがブレークアウトルーム!!

 

文字通り、ホストで開催した会議から少人数の会議へ異動して戻ってくるというような機能です。

※初期状態ではブレークアウトルームがオフになっています。

 

初期設定

「個人」>「設定」を開きます。

 

「ミーティングにて(詳細)」のブレークアウトルームを有効にする

 

ミーティング中もしくは準備でブレイクアウトルームを使う

 

・スケジューリングの場合は「ミーティングオプション」にブレークアウトルームが追加される。

 

・ZOOMアプリの場合は

バーのところにブレークアウトセッションが追加される

 

セッション割り当てを行う。参加人数に対して何人で割り振るのかって感じ。

 

割り振られたメンバーは、セッションに参加というメッセージが表示され参加を押す

 

自分(ホスト)がブレークセッションに参加する場合は、「参加」をクリックすると入れる。

 

 

ブレークアウトセッションにいった人の一部の人だけ強制的に戻すことはできないみたいだ。

ホストがブレークアウトセッションを強制停止するには1分かかるようだ。

 

オプションで、いろいろと設定できるみたい。

 

その他ブレークアウトルームを使ってみて気になった点

 

ブレークアウトルームは、ミーティングモードのみで利用可能。

詳しくはこちらのヘルプを参照

 

一度、割り振りしたルームからの変更はできない。

Aさんは、ルーム1に参加してね。やっぱりルーム2に参加してねってだめっぽい。(ブレークアウトセッションを停止しないとNG)

 

ホストしかブレークルームに往来できない?

例えば、リアルのワークショップを想定した場合にメインの進行役とサブの補助的な人がいると思いますが、

補助的な人を各ブレークアウトを巡回させるには共同ホストの機能を有効化して、あれこれすればいけるようだ。

事前設定:「個人」>「設定」で「共同ホスト」欄があるのでオンにする。

 

1.補助的な人を共同ホストにする

2.ブレークアウトセッションに共同ホストの人も参加させる

3.共同ホストの人のZOOMにはブレークアウトセッションが表示さているので表示すればルーム移動が表示される

 

※イメージ的には、スタッフセッションでも作ってそこに参加させておいて、回るイメージでしょうか…

・共同ホストになったときのブレークアウトセッション

 

ブレイクアウトとブレークアウト?

ところどころごっちゃな感じで表示されていますが…

 

 

使い方の練習が必要ですなぁ