PHP 初心者が WordPress の プラグイン 作成 ! part60 ( ヘッドレスブラウザが遅い件 その2)

この記事では PHP 初心者 が WordPress プラグイン を 作成 します。 part59 では引き続きヘッドレスブラウザが遅い件について調査します。

前回ヘッドレスブラウザでココナラにアクセスし、完了するまでの時間を計測しました。
なんと15~20秒もかかっていることがわかりました。

PHP 初心者が WordPress の プラグイン 作成 ! part59 ( ヘッドレスブラウザが遅い件 その1)

ヘッドレスブラウザの設定を変更してみたのですが効果は無く・・・はてどうしたものか😑

ヘッドレスブラウザを直接操作

今回使用しているヘッドレスブラウザはchromiumです。
chromiumはOSにインストールされています。
PHP(のライブラリ)はこのchromiumを呼び出しているわけです。
問題の切り分けのためにOSから直接chromiumを呼び出して計測してみたいと思います。

chromiumを実行に際し、以下の記事を参考にしました。

ヘッドレス Chrome ことはじめ  |  Web  |  Google Developers

記事は少し古いですがとても参考になりました。

またこちらの記事も参考にさせていただきました。

headless chromeをPythonのseleniumから動かして引数を考えた (Ubuntu 16.04) – Stimulator (hatenablog.com)

これらを踏まえ、以下のようなコマンドを実行します。

chromium \
--headless \
--no-sandbox \
--disable-gpu \
--ignore-certificate-errors \
--allow-running-insecure-content \
--disable-web-security \
--disable-desktop-notifications \
--disable-extensions \
--user-agent=hogehoge \
--lang=ja \
--blink-settings=imagesEnabled=false \
--dump-dom \
https://coconala.com/

また以下のサイトを参考に、簡単な計測を実施しました。

Linuxでコマンドや処理の実行時間を調べる方法 | server-memo.net

出来上がったコマンドがこちらです。

SECONDS=0; \
chromium \
--headless \
--no-sandbox \
--disable-gpu \
--ignore-certificate-errors \
--allow-running-insecure-content \
--disable-web-security \
--disable-desktop-notifications \
--disable-extensions \
--user-agent=hogehoge \
--lang=ja \
--blink-settings=imagesEnabled=false \
--dump-dom \
https://coconala.com/; \
run_time=$SECONDS; echo $run_time;

確認

それでは確認してみましょう。

以下のように表示され、数秒後わーーーっとHTMLの内容が出力されました。

終了時に「18」と表示されました。これが処理時間になります。

「素」のヘッドレスブラウザを使用してもこのくらい時間はかかっているようです。
つまり・・・どうしようもないということでしょうか😅
感覚としてはアクセスしてからHTMLをもらい、そこから「出力」が大きな負担になっているような気がしました。

※ためしにこの出力結果をテキストファイルに出力してみると10秒くらいになります。

まとめ

ヘッドレスブラウザが遅い件について調べてみました。
PHPを介さずにヘッドレスブラウザの処理時間を調べてみました。

結果としては「しょうがない😇」ということです。

マシンスペックが高ければもっとましな動作をするような気もしますが
今回はこの件に関したはあきらめようと思います。

今日はここまで!