PowerCMS X ブログ

2021-07-27

静的サイトジェネレータ(SSG)との再構築 (ファイル生成) 時間比較

SSG (Static Site Generator) や Jamstack あるいはサーバーレスといった言葉を聞くことが増えてきました。SSGと対比してよく引き合いに出されるのが WordPressに代表されるCMSです。管理画面からコンテンツが更新でき、コンテンツはデータベースに保存、コマンド操作なども不要である CMSはやはり便利ですが、静的ファイルの高速配信、セキュリティ面での管理のしやすさなどから Webにおける静的配信が流行っているのも理解できます。

PowerCMS Xは静的ファイルを高速に出力できるCMSです (動的生成も可能なハイブリッド型CMS)。では、Static Site Generatorと比較してどの程度のパフォーマンスが出せるのでしょうか。静的htmlを出力するSSG / CMSを同一環境にインストールし、出力時間を計測しました。

計測した SSG / CMS は以下にあげる6種類です。

  • Jekyll (4.2.0)
  • Hexo (hexo-cli 4.2.0)
  • Pelican (4.6.0)
  • Hugo (v0.85.0+extended)
  • MTOS (5.2.11)
  • PowerCMS X (2.5820)

計測は同一マシンで行いました。1記事 / 10記事 / 100記事 / 1000記事で各5回、SSGについてはコマンドから、PowerCMS X / MTOS については管理画面からの再構築で計測しました。

  • ハードウェア : AWS EC2 (t3.medium)
  • OS : Amazon Linux release 2 (Karoo)
  • Python 3.7.10
  • Ruby 2.7.4p191
  • Node.js v14.17.2
  • PHP 8.0.8
  • Perl v5.16.3
  • MySQL 8.0.25

計測結果

静的ファイルジェネレーター/CMSによる再構築計測結果のグラフ

SSG/CMS 1記事 10記事 100記事 1000記事
Jekyll 0.837 0.909 1.204 4.248
Hexo 1.51 1.516 2.217 6.506
Pelican 0.61 0.527 0.786 3.233
Hugo 0.197 0.197 0.357 1.852
PowerCMS X 0.152 0.164 0.29 2.61
MTOS 1.4 1.8 9.8 90.8

単位 : 秒

1000記事分のデータを投入した状態では、Hugo がもっともビルド時間が短かい結果となりました(PowerCMS Xではper_rebuild, async_max_procなどの環境変数の最適化でさらに速度を向上させることができますが、本計測では rebuld_async有効の他はデフォルト状態で計測しました)。次いで高速な順に Power CMS X, Pelican, Jekyll、Hexo, MTOS となり、PowerCMS X は静的ファイルジェネレーターと比較しても遜色のないファイル生成パフォーマンスを叩き出せることがおわかりいただけると思います。

AWSの S3などを利用した静的ファイルホスティングや、CloudFrontなどと組み合わせて高速なコンテンツ配信を実現するも簡単です。次回以降の記事では、 AWSの S3/CloudFront と PowerCMS Xを連携させるソリューションについてご紹介します。

カテゴリー:技術情報

投稿者:Junnama Noda

ブログ内検索

アーカイブ