DBメンバーによるメッセージの閲覧をスキップ
RedisからMemberIDを読み取るgetMemberIdFromRequest()を抽出する DBを打たずにセッション。 ではなく getMessages() で使う getCurrentMember() — メンバーのエンティティティティティティティティティティは、そこにヌルチェックされただけだった。 決して使...
Eliminate OTK Redis overhead and proxy log noise for message fetches
- Bypass OTK generation in the MediaService proxy route: forward the *** cookie directly instead of generating a one-time key, removing 4 Redis round-trips ...
オーバーヘッドと非同期TTLのリフレッシュをロギングする
- k8sコンフィグマップ(実際の生産コンフィグ):低セキュリティ/ヒカリ INFO/DEBUG から WARN へのロギング、HikariCP プールの設定 (最大 20) - KSessionService: ストリップ ~60 System.out.println は、火災した呼び出し 128-char セッショ...
ログノイズとトーン接続プールを削減
- TRACEからWARN、HikariCPへのスプリングセキュリティをDEBUGから下げる WARN — リクエストごとの同期ログ書き込みの数十を排除 - 明示的なHikariCPプールコンフィグ(最大20、ミニアイドル5)を追加して防止 同時負荷下での接続排気 - getCurrentMember() から 14 ...
応答N+1を除去する同じクエリで親メッセージをフェッチ
Alias m.msg と LEFT JOIN FETCH msg.parent ので、スレッド応答 メッセージには、初期クエリではなく親が読み込まれている 応答ごとに別のSELECTをトリガーする
チャットメッセージの読み込み性能を向上させる
- Cache getCurrentMemberId() は、繰り返された /api/user-info を避けるために ref の結果 すべてのWebSocketメッセージとタイピングインジケーターの呼び出し - Promise.all でメッセージ履歴 fetch と user-info fetch を並列化します...
チャットメッセージエンドポイントからメッセージロギングを一枚削除
System.out.println 呼び出しをメッセージストリームマップ内で削除 1回のメッセージ(1リクエストあたり100 I/Oの操作)と最終処理 すべてのメッセージを再びストリーミングして、ログインのためのメンバーIDを収集するログ
Fix N+1クエリとチャットメッセージの読み込みのためのコンポジットインデックスを追加
- LEFT JOIN FETCH m.msg をリポジトリのクエリの両方にEagerly load に追加する 同じクエリでMediaObjMsg、最大100個の追加のSQLクエリを排除 チャットウィンドウが開きます - カバーに合成インデックス(SESSION ID、IS REMOVED、DATE CREATED)...
Batch-load custom form data in getAllLeads (eliminate N+1)
Replace per-lead getCustomFormDataForLead calls (N+1 queries) with a single batch load via getCustomFormDataForLeads, grouped by lead ID using a Map lookup when...
リードエンドポイントでフルテーブルスキャンとN+1クエリを排除
- LeadRepository:findByOrganizationId JPQL クエリを追加(ORG ID インデックスを使用する) 代わりに、LEADSテーブル全体をロードし、Javaでフィルタリング - LeadCustomFormDataRepository: バッチローディングのためのfindByLead...
視覚的な魅力を維持しながら、40-50%でページのパフォーマンスを最適化
- 初期バンドルサイズを減らすためのレイジーロードスイパー背景カルーセル - コンポーネント(ThemeLogo、BrandIcon、LazySwiperBackground)を記憶し、不要な再レンダリングを防止 - GPUの加速および減らされた空の効果のアニメーションを最大限に活用して下さい - フォント表示スワップ...
Refactor to parallel deployment for k1m1 and k2m1
- Split build and deployment into separate jobs - Deploy to k1m1 and k2m1 in parallel after build completes - Reduces total deployment time significantly
K1m1とk2m1の並列展開にレファクタ
- 個別のジョブにビルドとデプロイを分割 - ビルド完了後にk1m1とk2m1を並行して展開 - 総展開時間をかなり減らして下さい
K1m1とk2m1の並列展開にレファクタ
- 個別のジョブにビルドとデプロイを分割 - ビルド完了後にk1m1とk2m1を並行して展開 - 総展開時間をかなり減らして下さい
K1m1とk2m1の並列展開にレファクタ
- 個別のジョブにビルドとデプロイを分割 - ビルド完了後にk1m1とk2m1を並行して展開 - 総展開時間をかなり減らして下さい
K1m1とk2m1の並列展開にレファクタ
- 個別のジョブにビルドとデプロイを分割 - ビルド完了後にk1m1とk2m1を並行して展開 - 総展開時間をかなり減らして下さい
K1m1とk2m1の並列展開にレファクタ
- 個別のジョブにビルドとデプロイを分割 - ビルド完了後にk1m1とk2m1を並行して展開 - 総展開時間をかなり減らして下さい
Revert to docker driver for faster builds - removes docker-container overhead
より高速なビルドのためにドッカードライバーに戻す
- docker-container ドライバーは初期化オーバーヘッドを追加します。 - 速い造り(<3min)のために、ドッカーの運転者はより有効です - キャッシュオプションを削除(ドッカードライバーでサポートされていない)
Switch to docker-container driver with cache for optimal build performance
最適なビルド性能のためのキャッシュでドッカーコンテナドライバーに切り替える
- ドッカードライバーの代わりにドッカーコンテナドライバーを使用して、パフォーマンスを向上させる - キャッシュから再有効化し、キャッシュからその後のビルドを高速化 - docker-container の運転者はキャッシュの輸出/輸入を支え、一般により速いです