

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Verwenden der Amazon-Neptune-Protokollierung für langsame Abfragen
<a name="slow-query-logs"></a>

Das Identifizieren, Debuggen und Optimieren einer langsam ausgeführten Abfrage kann schwierig sein. Wenn die Neptune-Protokollierung für langsame Abfragen aktiviert ist, werden die Attribute aller Abfragen mit langer Laufzeit automatisch protokolliert, um diesen Vorgang zu vereinfachen.

**Anmerkung**  
Die Protokollierung langsamer Abfragen wurde in der [Neptune-Engine-Version 1.2.1.0](engine-releases-1.2.1.0.md) eingeführt.

Sie aktivieren die Protokollierung langsamer Abfragen mit dem DB-Cluster-Parameter [neptune\$1enable\$1slow\$1query\$1log](parameters.md#parameters-db-cluster-parameters-neptune_enable_slow_query_log). Dieser Parameter ist standardmäßig auf `disabled` festgelegt. Wenn Sie ihn auf `info` oder `debug` festlegen, wird die Protokollierung für langsame Abfragen aktiviert. Die Einstellung `info` protokolliert einige nützliche Attribute für jede langsam ausgeführte Abfrage. Die Einstellung `debug` protokolliert hingegen alle verfügbaren Attribute.

Um den Schwellenwert für eine als langsam ausgeführte Abfrage betrachtete Abfrage festzulegen, verwenden Sie den DB-Cluster-Parameter [neptune\$1slow\$1query\$1log\$1threshold](parameters.md#parameters-db-cluster-parameters-neptune_slow_query_log_threshold), um die Anzahl der Millisekunden anzugeben, nach der eine Abfrage als langsam betrachtet und protokolliert wird, wenn die Protokollierung langsamer Abfragen aktiviert ist. Der Standardwert ist 5.000 Millisekunden (5 Sekunden).

Sie können diese DB-Cluster-Parameter [im AWS-Managementkonsole](parameter-groups.md#parameters-editgroup) oder mithilfe des AWS CLI Befehls [modify-db-cluster-parameter-group](https://docs.aws.amazon.com/cli/latest/reference/neptune/modify-db-cluster-parameter-group.html) oder der DBCluster ParameterGroup Verwaltungsfunktion [Modify](api-parameters.md#ModifyDBClusterParameterGroup) festlegen.

**Anmerkung**  
Die Protokollierungsparameter für langsame Abfragen sind dynamisch. Das bedeutet, dass das Ändern ihrer Werte keinen Neustart des DB-Clusters erfordert oder verursacht.

## Um Logs für langsame Abfragen anzuzeigen, finden Sie im AWS-Managementkonsole
<a name="slow-query-logs-console"></a>

Sie können Protokolle für langsame Abfragen wie folgt im anzeigen und herunterladen: AWS-Managementkonsole

Wählen Sie auf der Seite **Instances** eine DB-Instance aus und scrollen Sie dann zum Abschnitt **Protokolle**. Sie können dort eine Protokolldatei auswählen und dann **Herunterladen** auswählen, um sie herunterzuladen.

## Dateien, die von der Neptune-Protokollierung für langsame Abfragen generiert werden
<a name="slow-query-log-files"></a>

Die durch die Protokollierung für langsame Abfragen generierten Protokolldateien besitzen die folgenden Eigenschaften:
+ Die Dateien sind als UTF-8 kodiert.
+ Abfragen und ihre Attribute werden im JSON-Format protokolliert.
+ Null- und leere Attribute werden nicht protokolliert, außer `queryTime`-Daten.
+ Protokolle umfassen mehrere Dateien, deren Anzahl von der Größe der Instance abhängig ist.
+ Protokolleinträge folgen keiner sequenziellen Reihenfolge. Sie können ihre `timestamp`-Werte verwenden, um sie anzuordnen.
+ Sie müssen möglicherweise alle Protokolldateien für langsame Abfragen überprüfen, um die neuesten Ereignisse anzuzeigen.
+ Protokolldateien werden rotiert, wenn sie zusammen die Größe von 100 MiB erreichen. Dieses Limit ist nicht konfigurierbar.

## Im `info`-Modus protokollierte Abfrageattribute
<a name="slow-query-log-info-attributes"></a>

Die folgenden Attribute werden für langsame Abfragen protokolliert, wenn der DB-Cluster-Parameter `neptune_enable_slow_query_log` auf `info` festgelegt wurde:

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/neptune/latest/userguide/slow-query-logs.html)

## Im `debug`-Modus protokollierte Abfrageattribute
<a name="slow-query-log-debug-attributes"></a>

Wenn der `neptune_enable_slow_query_log`-DB-Cluster-Parameter auf `debug` festgelegt wurde, werden zusätzlich zu den Attributen, die im `info`-Modus protokolliert werden, die folgenden Speicherzähler-Attribute protokolliert:


| Attribut | Description | 
| --- | --- | 
| `statementsScannedInAllIndexes` | Zahl der in allen Indizes gescannten Anweisungen. | 
| `statementsScannedSPOGIndex` | Zahl der im SPOG-Index gescannten Anweisungen. | 
| `statementsScannedPOGSIndex` | Zahl der im POGS-Index gescannten Anweisungen. | 
| `statementsScannedGPSOIndex` | Zahl der im GPSO-Index gescannten Anweisungen. | 
| `statementsScannedOSGPIndex` | Zahl der im OSGP-Index gescannten Anweisungen. | 
| `statementsScannedInChunk` | Zahl der zusammen im Block gescannten Anweisungen. | 
| `postFilteredStatementScans` | Zahl der Anweisungen, die nach dem Filtern nach dem Scannen übrig sind. | 
| `distinctStatementScans` | Zahl der eindeutigen gescannten Anweisungen. | 
| `statementsReadInAllIndexes` | Zahl der gelesenen Anweisungen nach dem Scannen nach dem Filtern in allen Indizes. | 
| `statementsReadSPOGIndex` | Zahl der gelesenen Anweisungen nach dem Scannen nach dem Filtern im SPOG-Index. | 
| `statementsReadPOGSIndex` | Zahl der gelesenen Anweisungen nach dem Scannen nach dem Filtern im POGS-Index. | 
| `statementsReadGPSOIndex` | Zahl der gelesenen Anweisungen nach dem Scannen nach dem Filtern im GPSO-Index. | 
| `statementsReadOSGPIndex` | Zahl der gelesenen Anweisungen nach dem Scannen nach dem Filtern im OSGP-Index. | 
| `accessPathSearches` | Anzahl der Zugriffspfadsuchen. | 
| `fullyBoundedAccessPathSearches` | Anzahl der Suchen nach vollständig begrenzten Schlüsselzugriffspfaden. | 
| `accessPathSearchedByPrefix` | Anzahl der Zugriffspfadsuchen nach Präfix. | 
| `searchesWhereRecordsWereFound` | Anzahl der Suchen, bei denen 1 oder mehrere Datensätze ausgegeben wurden. | 
| `searchesWhereRecordsWereNotFound` | Anzahl der Suchen, bei denen keine Datensätze ausgegeben wurden. | 
| `totalRecordsFoundInSearches` | Gesamtzahl der bei allen Suchen gefundenen Datensätze. | 
| `statementsInsertedInAllIndexes` | Anzahl der in allen Indizes eingefügten Anweisungen. | 
| `statementsUpdatedInAllIndexes` | Anzahl der in allen Indizes aktualisierten Anweisungen. | 
| `statementsDeletedInAllIndexes` | Anzahl der in allen Indizes gelöschten Anweisungen. | 
| `predicateCount` | Anzahl der Prädikate. | 
| `dictionaryReadsFromValueToIdTable` | Anzahl der Verzeichnislesevorgänge von der Wert- in die ID-Tabelle. | 
| `dictionaryReadsFromIdToValueTable` | Anzahl der Verzeichnislesevorgänge von der ID- in die Wert-Tabelle. | 
| `dictionaryWritesToValueToIdTable` | Anzahl der Verzeichnisschreibvorgänge von der Wert- in die ID-Tabelle. | 
| `dictionaryWritesToIdToValueTable` | Anzahl der Verzeichnisschreibvorgänge von der ID- in die Wert-Tabelle. | 
| `rangeCountsInAllIndexes` | Anzahl der Bereichszählungen in allen Indizes. | 
| `deadlockCount` | Anzahl der Deadlocks in der Abfrage. | 
| `singleCardinalityInserts` | Anzahl der ausgeführten Einfügungen mit einfacher Kardinalität. | 
| `singleCardinalityInsertDeletions` | Anzahl der während Einfügungen mit einfacher Kardinalität gelöschten Anweisungen. | 
| `sharedLocksWaitTimeMillis` | Anzahl der Millisekunden, die damit verbracht wurden, auf gemeinsame Sperren zu warten. | 
| `exclusiveLocksWaitTimeMillis` | Anzahl der Millisekunden, die damit verbracht wurden, auf exklusive Sperren zu warten. | 

## Beispiel für die Debug-Protokollierung einer langsamen Abfrage
<a name="slow-query-log-debug-output-sample"></a>

Die Ausführung der folgenden Gremlin-Abfrage könnte länger dauern als der für langsame Abfragen festgelegte Schwellenwert:

```
gremlin=g.V().has('code','AUS').repeat(out().simplePath()).until(has('code','AGR')).path().by('code').limit(20).fold()
```

Wenn die Protokollierung langsamer Abfragen im Debug-Modus aktiviert wäre, würden die folgenden Attribute für die Abfrage in einem Format wie dem folgenden protokolliert:

```
{
  "requestResponseMetadata": {
    "requestId": "5311e493-0e98-457e-9131-d250a2ce1e12",
    "requestType": "HTTP_GET",
    "responseStatusCode": 200
  },
  "queryStats": {
    "query": "gremlin=g.V().has('code','AUS').repeat(out().simplePath()).until(has('code','AGR')).path().by('code').limit(20).fold()",
    "queryFingerprint": "g.V().has(string0,string1).repeat(__.out().simplePath()).until(__.has(string0,string2)).path().by(string0).limit(long0).fold()",
    "queryLanguage": "Gremlin"
  },
  "memoryStats": {
    "allocatedPermits": 20,
    "approximateUsedMemoryBytes": 14838
  },
  "queryTimeStats": {
    "startTime": "23/02/2023 11:42:52.657",
    "overallRunTimeMs": 2249,
    "executionTimeMs": 2229,
    "serializationTimeMs": 13
  },
  "statementCounters": {
    "read": 69979
  },
  "transactionCounters": {
    "committed": 1
  },
  "concurrentExecutionStats": {
    "acceptedQueryCountAtStart": 1
  },
  "queryBatchStats": {
    "queryProcessingBatchSize": 1000,
    "querySerialisationBatchSize": 1000
  },
  "storageCounters": {
    "statementsScannedInAllIndexes": 69979,
    "statementsScannedSPOGIndex": 44936,
    "statementsScannedPOGSIndex": 4,
    "statementsScannedGPSOIndex": 25039,
    "statementsReadInAllIndexes": 68566,
    "statementsReadSPOGIndex": 43544,
    "statementsReadPOGSIndex": 2,
    "statementsReadGPSOIndex": 25020,
    "accessPathSearches": 27,
    "fullyBoundedAccessPathSearches": 27,
    "dictionaryReadsFromValueToIdTable": 10,
    "dictionaryReadsFromIdToValueTable": 17,
    "rangeCountsInAllIndexes": 4,
    "sharedLocksWaitTimeMillis": 0,
    "exclusiveLocksWaitTimeMillis": 0
  }
}
```