<?xml version="1.0" encoding="UTF-8"?><urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9" xmlns:news="http://www.google.com/schemas/sitemap-news/0.9" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:image="http://www.google.com/schemas/sitemap-image/1.1" xmlns:video="http://www.google.com/schemas/sitemap-video/1.1"><url><loc>https://blog.jianghuzaijian.top/</loc></url><url><loc>https://blog.jianghuzaijian.top/about/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/alert-storm-layering-why-too-many-alerts-but-slow-diagnosis-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/api-capacity-budget-qps-timeout-retry-thread-pool-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/api-response-slow-troubleshooting-steps/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/api-slow-but-cpu-gc-db-not-high-hidden-wait-points-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/arthas-six-most-useful-commands-online-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/async-profiler-vs-arthas-vs-jstack-when-to-use-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/async-task-backlog-root-cause-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/bloom-filter-enabled-but-cache-penetration-still-happens-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/cache-backsource-traffic-surge-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/cache-consistency-delete-cache-update-db-problems/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/cache-consistency-double-delete-vs-binlog-vs-dual-write-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/cache-failure-chain-drills-and-game-day-scenarios-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/cache-hit-rate-drop-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/cache-hit-rate-normal-but-backsource-still-high-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/cache-layer-failure-why-app-and-db-both-slow-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/cache-prewarm-done-but-still-jitter-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/cache-ttl-design-traffic-backsource-database-surge-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/circuit-breaker-opened-why-full-link-recovery-still-slow-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/common-thread-safety-problems-in-java-projects/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/config-refresh-succeeded-but-bean-state-still-old-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/connection-pool-wait-db-slow-vs-app-holding-connection-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/container-oomkilled-vs-java-heap-oom-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/cpu-high-and-gc-frequent-causality-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/cpu-hot-thread-fixed-but-load-still-high-what-next-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/database-connection-pool-exhausted-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/database-lock-wait-hot-row-contention-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/database-not-high-load-but-api-still-slow-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/database-rt-high-but-no-obvious-slow-sql-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/database-wait-chain-monitoring-dashboard-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/db-cpu-normal-but-active-sessions-high-wait-chain-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/distributed-lock-no-errors-but-throughput-drops-renewal-vs-granularity-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/frequent-young-gc-but-no-full-gc-throughput-drop-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/full-gc-frequent-causes-and-analysis/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/gateway-504-vs-app-timeout-vs-client-timeout-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/gc-overhead-limit-exceeded-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/heap-dump-first-analysis-which-objects-to-rule-out-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/high-load-readiness-flap-why-instances-oscillate-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/hotspot-table-index-row-which-layer-to-split-first-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/idempotency-check-passed-but-duplicate-consume-still-happens-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/incident-review-from-symptom-record-to-reusable-methodology-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/incident-timeline-how-to-record-decisions-during-outage-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/interface-timeout-application-network-downstream-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/isolate-scheduled-async-business-thread-pools-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/java-memory-leak-heap-dump-mat-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/java-memory-rising-without-oom-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/java-service-cpu-high-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/java-service-oom-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/java-thread-pool-parameter-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/jstack-jmap-jstat-how-to-read-in-production/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/jvm-safe-point-too-long-why-service-freezes-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/long-transaction-performance-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/long-tx-fixed-but-connection-pool-still-tight-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/low-lock-contention-but-throughput-dropping-thread-switch-vs-downstream-wait-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/message-backlog-growing-because-downstream-slow-not-consumer-count-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/metaspace-rising-no-heap-oom-classloader-leak-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/multiple-alerts-first-round-scope-cutting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/mybatis-pagination-deep-page-optimization/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/mysql-explain-guide-type-rows-extra/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/mysql-explain-normal-but-sql-still-slow-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/mysql-index-invalid-8-common-causes/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/mysql-order-by-why-slow-analysis-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/mysql-slow-sql-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/netty-event-loop-blocked-why-rpc-timeout-spreads-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/off-heap-memory-rising-container-oom-evidence-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/old-gen-not-full-but-full-gc-frequent-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/oom-first-response-scene-preservation-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/p99-jitter-high-but-average-rt-normal-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/partial-instances-abnormal-actuator-config-env-diff-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/read-heavy-apis-slow-because-of-write-transactions-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/recent-change-first-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/recent-release-interface-slow-what-to-check-first-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/redis-cache-penetration-breakdown-avalanche/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/redis-hot-key-detection-and-handling-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/redis-memory-rising-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/redis-sharding-done-but-hotspots-still-concentrated-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/retry-storm-amplifies-slow-api-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/rpc-timeout-but-downstream-not-slow-hidden-middle-layer-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/same-api-only-some-instances-slow-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/single-api-slow-vs-whole-service-slow-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/slow-api-timeout-oncall-checklist-how-to-build-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/slow-api-troubleshooting-logs-vs-trace-vs-metrics-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/slow-query-fixed-but-interface-still-slow-full-chain-verification-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/spring-boot-async-not-async-main-thread-slow-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/spring-boot-auto-configuration-condition-not-effective-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/spring-boot-bean-initialization-stuck-startup-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/spring-boot-canary-release-partial-instances-slow-or-inconsistent-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/spring-boot-config-changed-still-old-value-refresh-restart-config-source-drift-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/spring-boot-config-override-order-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/spring-boot-env-diff-profile-mount-jvm-flag-checklist-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/spring-boot-health-readiness-graceful-shutdown-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/spring-boot-runtime-observability-actuator-thread-pool-connection-pool-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/spring-boot-scheduled-task-duplicate-backlog-db-slow-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/spring-boot-service-drifts-only-at-peak-thread-pool-connection-pool-cache-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/spring-boot-service-state-drift-after-release-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/spring-boot-startup-slow-analysis-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/spring-transaction-why-not-work-common-cases/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/sql-optimization-notes-from-indexes-to-explain/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/stability-governance-capacity-vs-slow-chain-vs-alert-layering-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/startup-probe-missing-why-slow-boot-looks-like-failure-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/synchronized-vs-reentrantlock-how-to-choose/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/temporary-stopgap-actions-rollback-conditions-and-observation-metrics-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/thread-pool-and-db-connection-pool-capacity-planning-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/thread-pool-queue-not-long-but-tasks-still-slow-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/thread-pool-sizing-cpu-bound-vs-io-bound-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/threadlocal-common-pitfalls-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/threadlocal-leak-amplified-in-connection-pool-threads-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/timeout-retry-circuit-breaker-parameter-design-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/timeout-storm-stop-bleeding-vs-root-cause-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/tomcat-busy-threads-high-vs-business-pool-backlog-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/top-pidstat-ss-netstat-iostat-when-to-use-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/traffic-surge-vs-code-regression-priority-troubleshooting-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/traffic-switch-before-cache-warmup-why-release-causes-read-amplification-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/when-to-use-distributed-lock/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/why-people-investigate-wrong-first-step-in-incidents-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/blog/java/write-api-slow-because-indexes-too-many-guide/</loc></url><url><loc>https://blog.jianghuzaijian.top/java/</loc></url><url><loc>https://blog.jianghuzaijian.top/java/page/2/</loc></url><url><loc>https://blog.jianghuzaijian.top/java/page/3/</loc></url><url><loc>https://blog.jianghuzaijian.top/java/page/4/</loc></url><url><loc>https://blog.jianghuzaijian.top/java/page/5/</loc></url><url><loc>https://blog.jianghuzaijian.top/java/page/6/</loc></url><url><loc>https://blog.jianghuzaijian.top/java/page/7/</loc></url><url><loc>https://blog.jianghuzaijian.top/java/page/8/</loc></url><url><loc>https://blog.jianghuzaijian.top/java/page/9/</loc></url><url><loc>https://blog.jianghuzaijian.top/java/page/10/</loc></url><url><loc>https://blog.jianghuzaijian.top/java/page/11/</loc></url><url><loc>https://blog.jianghuzaijian.top/java/page/12/</loc></url><url><loc>https://blog.jianghuzaijian.top/java/page/13/</loc></url><url><loc>https://blog.jianghuzaijian.top/java/page/14/</loc></url><url><loc>https://blog.jianghuzaijian.top/java/page/15/</loc></url><url><loc>https://blog.jianghuzaijian.top/privacy/</loc></url><url><loc>https://blog.jianghuzaijian.top/spring-boot/</loc></url><url><loc>https://blog.jianghuzaijian.top/spring-boot/page/2/</loc></url></urlset>