今週はパフォーマンスの最適化に焦点を当て、特に機能の更新は行いませんでした。そのため、少し退屈に見えるかもしれません。
PageSpeed Insights のスコアは今週の作業を示しています。
今週以前
今週以降
また、ページを開くと速度の変化が明確に感じられます。
今週行った具体的な最適化のいくつかを紹介します。
投稿リストデータのサイズを削減#
xLog は以前、Crossbell Indexer を直接使用して投稿のリストを取得していましたが、これにより余分なデータが発生しました。現在は xLog 独自の API を使用し、不要なデータを削除し、Redis キャッシュを使用しています。
また、ホームページではデフォルトで最初の 10 件の投稿のみをロードし、ユーザーが「もっと読む」ボタンをクリックするまで追加の投稿をロードしないようにページングを追加しました。
Markdown パースモジュールの遅延読み込み#
Markdown パースモジュールのサイズが非常に大きいことがわかりましたので、遅延読み込みを行いました。また、ホームページの依存関係からこのモジュールを削除し、代わりにサーバースライドを介して Markdown を解析しました。これにより、ホームページの js のサイズが大幅に削減されました。
より詳細なキャッシュ#
遅いインデクサーの影響を軽減するために、サーバーサイドですべてのリクエストに対して Redis キャッシュを使用してきました。
ただし、投稿スラッグから投稿 ID を見つけるなど、一部のリクエストはまだ時間がかかるため、これらのニーズに対してキャッシュのロジックを最適化しました。
詳細な変更内容は GitHub で確認できます。
いつも通り、ご意見や期待、または気軽な会話があれば、ぜひ私たちのコミュニティに参加するか、以下にコメントを残してください。乾杯!🍻