Profilage et journaux des requêtes lentes
Diagnostiquez les problèmes de performance en profilant les requêtes individuelles et en enregistrant les opérations lentes dans le journal dédié, afin de trouver et corriger les véritables goulots d’étranglement.
Profilage et journaux des requêtes lentes est une leçon Elasticsearch & Full Text Search Systems gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Elasticsearch & Full Text Search Systems, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Elasticsearch & Full Text Search Systems comprend 4 leçons au total.
Certaines parties de cette leçon n'ont pas encore été traduites et s'affichent en anglais.
Measure Before You Optimize
Guessing at performance fixes wastes time. Elasticsearch gives you two precise tools: the Profile API for dissecting a single query, and slow logs for catching expensive operations in production.
The Profile API
Add "profile": true to any search request. Elasticsearch returns a detailed timing breakdown of how the query executed on each shard.
GET my_index/_search
{
"profile": true,
"query": { "match": { "title": "elasticsearch" } }
}Reading Query Timings
The profile output lists each Lucene query and the time spent in phases like build_scorer, next_doc, and score. A surprisingly slow phase points you straight to the culprit.
Rewrite Time
Watch the rewrite_time. Wildcard, prefix, and range queries can rewrite into thousands of terms, inflating this number. If rewrite dominates, reconsider the query type or use a keyword/edge-ngram field.
Profiling Aggregations
The profile output also has an aggregations section. It shows initialize, collect, and build_aggregation times, helping you spot a costly high-cardinality terms aggregation.
Profile API Caveats
Profiling adds overhead and does not capture network or coordination time. Use it for relative comparison between query versions, not as an absolute production latency figure.
The Search Slow Log
The slow log records queries that exceed configurable time thresholds, per shard. It separates the query phase from the fetch phase and uses warn/info/debug/trace levels.
PUT my_index/_settings
{
"index.search.slowlog.threshold.query.warn": "1s",
"index.search.slowlog.threshold.fetch.warn": "500ms"
}The Indexing Slow Log
A parallel indexing slow log catches documents that take too long to index, useful for spotting expensive pipelines or oversized documents.
PUT my_index/_settings
{
"index.indexing.slowlog.threshold.index.warn": "1s"
}Per-Shard Logging
Slow log thresholds apply per shard, not per request. A query slow on one shard but fast overall will still be logged for that shard, helping you find a single hot or unbalanced shard.
Acting on Findings
Once you identify a slow pattern, common fixes are: add a filter to narrow the dataset, replace heavy wildcard queries, increase shard count for hot indices, or pre-aggregate data. Always re-profile to confirm the gain.
A Workflow
Production loop: slow log surfaces a bad query, you reproduce it with the Profile API, identify the costly phase, apply a fix, and verify. This data-driven cycle beats guesswork every time.
Quick Check
Test your understanding of performance diagnostics.
Recap
You learned to diagnose performance:
- The Profile API breaks down query and aggregation timings phase by phase.
- Watch
rewrite_timefor expanding wildcard/range queries. - Search and indexing slow logs catch expensive operations per shard in production.
- Follow a measure-fix-verify loop instead of guessing.
Questions Fréquemment Posées
La leçon « Profilage et journaux des requêtes lentes » est-elle gratuite ?
Oui — le texte complet de « Profilage et journaux des requêtes lentes » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Elasticsearch & Full Text Search Systems, passe à CoddyKit PRO. Le cours Elasticsearch & Full Text Search Systems comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Profilage et journaux des requêtes lentes » ?
Diagnostiquez les problèmes de performance en profilant les requêtes individuelles et en enregistrant les opérations lentes dans le journal dédié, afin de trouver et corriger les véritables goulots d… Tu pratiques Elasticsearch & Full Text Search Systems avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Elasticsearch & Full Text Search Systems ?
Aucune expérience préalable n'est requise. Elasticsearch & Full Text Search Systems sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Profilage et journaux des requêtes lentes » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Elasticsearch & Full Text Search Systems ?
Oui. Chaque leçon Elasticsearch & Full Text Search Systems inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Stratégies d’optimisation des requêtes
- Bonnes pratiques pour les performances d’indexation
- Mise en cache et concurrence
- Profilage et journaux des requêtes lentes