KamoCRM

3개의 뜨거운 쿼리를 한 번에 묻습니다

PerformanceKBService
Shipped
2026년 9월 23일 오후 1:39 UTC
Author
Kamo
Commit
60e1921

3개의 쿼리 pg stat statements는 kbservice의 최고 생산 DB로 보여주었습니다 비용, 루프에서 모두 (또는 유산 YugabyteDB 계획 planner는 나쁜 것을 선택했습니다) 단 하나 조회는 대답할 수 있었습니다: * * * * * * (사이트맵 및 모든 것) public tree/list/single-article 응답의 hreflang 자료) 이제 읽기 ************************를 통해 pg hint plan-hinted 네이티브 쿼리 (kamo-shared-library, 별도의 커밋) Hash가 플래너에 참여하는 것은 그 자체를 선택하지 않았습니다. ~6,000원 ~11 s 각 생산; EXPLAIN, 11.9 s ->로 확인 0.2 동일한 308 입자 org에 대 한 s. * * * * * * (대) 10 분의 번역 준비 스윕) 지금 요청 *********** 한 번에 countByArticle Uid 대신 게시된 기사의 전체 배치 문서 — 1.7M는 생산에서 호출, 1 그룹 읽기로 대체. - buildPublicChildrenMap 및 buildUidToGuidMap은 KbArticleService에서 제거. 그들은 죽은 코드 뒤에 왼쪽 때 **************** 사전 제작 PublicTreeIndex (155e7de) 대신 풀로우에서 하나를 재건 문서로드 : 콜러가 왼쪽이 없었지만, 각각은 여전히 정확히 ~306,000-call / ~80 ms 풀로우 kb articles 쿼리 (content json 포함) pg stat statements는 보여주었습니다 — 느린, unachable 함정을 위한 다음 콜러를 사용하여 찾을 수 없습니다. 트래픽이 없습니다. 빌드PublicTreeIndex 자체 이미 좁은 투사 loadPublicArticlesForTree를 읽습니다. 155e7de에 추가, 생산에서 라이브 확인 (8,730 ~17 ms에서 호출 각, 성장) - 이미 배송을 수정; 이것은 단지 두 제거 왼손잡이는 사이트가 여전히 풀로우 비용을 재투자 할 수 있습니다. 테스트: KbOriginalLocalesServiceTest 및 ****** ********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************** 일괄 처리 커버 추가 (BATCH chunking, null/duplicate uid 처리, 그룹화로 매핑, "absent는 0"을 의미한다; 모두 mutation-checked by reverseting the fix locally, 그들은 빨간색으로 가서, 그것을 복원. 또한 검토: kb article relations 및 paginated KB-admin 목록 kb articles 풀로우 로드의 queries (org/status/parent id 변형) pg stat statements에서 큰 합계로 나타낸다 그러나 per-call 대기 시간 (1-20 ms) 및 나쁜 계획의 표시 없음 - 혼자 왼쪽. **************** 한 번 호출됩니다. 공공 어린이별 페이지의 항목당 (페이지로 이동) 크기, non-English locale 뒤에 문지름) — runaway 본이 아닙니다 다른 세가 있었다, 그래서 또한 혼자 떠났다.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing