Nucleusの高速化(NP_Header編)
Nucleus負荷軽減、転送量削減の目的でNP_Headerを導入しました。
SEO対策として利用されている方が多いですが、転送量削減につながる『条件付き GET (Conditional GET) に対応』もとても魅力的です。Nucleusを『条件付きGET』に対応させることで、ページ更新が行なわれていない場合、再度WEBサーバからデータ転送が行なわれません。
ブラウザがWEBサーバに『ページ更新されてますか?』と問合せを行い、Nucleus側(NP_Header)で更新の有無をチェックして返答する。という感じです。
更新されていない場合はデータ転送は行なわれず、ヘッダ情報『HTTP/1.1 304 Not Modified』がブラウザに返却されます。
不要な転送が行なわれませんので結果的にサーバ負荷軽減、転送量削減、レスポンスの高速化へ繋がることになります。
負荷軽減の結果
NP_Headerが『HTTP/1.1 304 Not Modified』をブラウザに返却する際はページのパース処理は行われません。別記事『Nucleus処理時間計測』では全体の処理に約1.8秒かかっていましたが、更新無し『Not Modified』の場合約0.5秒で処理終了となりました。
処理速度が速くなったのではありませんが、結果として体感できる高速化です。
Nucleusノーマルの状態では常にデータ転送が行なわれてしまうので、転送量等に悩んでいる方にもNP_Headerをお勧めします。
関連記事
別記事『個別アイテムパース時間』では1ページのパース時間を確認しています。
別記事『Nucleus処理時間計測(NP_CoreBench)』ではNucleus全体の処理時間を確認しています。
別記事『Nucleusの高速化(NP_EzCache編)』では、NP_EzCacheインストール後の処理時間を確認しています。