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