Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Auf dieser Seite erfahren Sie, wie Sie Probleme mit Firestore im Datastore-Modus beheben.
Latenz
In folgender Tabelle werden mögliche Ursachen für eine erhöhte Latenz beschrieben:
Latenzursache
Arten von betroffenen Vorgängen
Lösung
Kontinuierlicher Traffic, der die Regel 500-50-5 überschreitet.
Lese-/Schreibzugriff
Bei schnellen Trafficanstiegen versucht der Datastore-Modus automatisch, die erhöhte Nachfrage zu erfüllen. Wenn der Datastore-Modus skaliert, verringert sich die Latenz.
Hotspots (hohe Lese-, Schreib- und Löschraten für einen kleinen Entitätsbereich) beschränken die Skalierbarkeit des Datastore-Modus. Überprüfen Sie das Skalierbares Design und ermitteln Sie Hotspots in Ihrer Anwendung.
Konflikt, entweder durch zu häufiges Aktualisieren einer einzelnen Entität oder durch Transaktionen.
Lese-/Schreibzugriff
Reduzieren Sie die Schreibrate für einzelne Entitäten.
Beispielsweise können Anfragen mit mehreren Gleichheitsfiltern (==), die jedoch nicht von zusammengesetzten Indexen unterstützt werden, zu langsamen Join-Anfragen führen.
Um die Leistung zu verbessern, fügen Sie zusammengesetzte Indexe für diese Abfragen hinzu. Weitere Informationen finden Sie unter Indexe optimieren.
Große Lesevorgänge, die viele Entitäten zurückgeben.
read
Verwenden Sie Abfragecursor, um große Lesevorgänge aufzuteilen.
Zu viele kürzliche Löschvorgänge.
read Dies wirkt sich erheblich auf Vorgänge aus, die Arten in Datenbanken auflisten.
Wenn die Latenz durch zu viele kürzliche Löschvorgänge verursacht wird, sollte sich das Problem nach einiger Zeit von selbst beheben. Tritt das Problem weiter auf, wenden Sie sich an den Support.
Folgende Situationen können ABORTED-Fehler erhöhen:
Eine Entität, die zu viele Aktualisierungen pro Sekunde empfängt.
Konflikte bei sich überschneidenden Transaktionen.
Trafficanstiege, die die 500-50-5-Regel überschreiten oder auf Hotspots treffen.
ABORTED
Too much contention on these datastore entities. Please try again.
Oder
ABORTED
Aborted due to cross-transaction contention. This occurs when multiple
transactions attempt to access the same data, requiring Datastore mode
to abort at least one in order to enforce serializability.
So lösen Sie dieses Problem:
Bei schnellen Trafficanstiegen versucht der Datastore-Modus automatisch, die erhöhte Nachfrage zu erfüllen. Wenn der Datastore-Modus skaliert, verringert sich die Latenz.
Hotspots begrenzen die Fähigkeit des Datastore-Modus, vertikal zu skalieren. Informationen zum Ermitteln von Hotspots finden Sie unter Zur Skalierung entwickeln.
Folgende Situationen können zu INVALID_ARGUMENT-Fehlern führen:
Versuch, eine Entität mit einem indexierten Attributwert zu committen, der größer als 1.500 Byte ist. Dieses Limit gilt für die UTF-8-Codierung des Property-Werts.
Versuch,eine Entität mit nicht indexierten Attributwerten zu committen,die größer als 1.048.487 Byte (1 MiB – 89 Byte) sind. Dieses Limit gilt für die Summe der Attributwerte in einer Entität. Beispiel: Vier Properties mit jeweils 256 KiB überschreiten das Limit.
1.500 Byte (indexiert) und 1.048.487 Byte (nicht indexiert) sind die Grenzwerte für Attributwerte. Diese Limits können nicht überschritten werden und sind keine Kontingente, die angepasst werden können.
INVALID_ARGUMENT: The value of property property-name is longer than 1500 bytes
oder
INVALID_ARGUMENT: The value of property property_name is longer than 1048487 bytes
So lösen Sie dieses Problem:
Teilen Sie indexierte Property-Werte in mehrere Properties auf. Erstellen Sie nach Möglichkeit eine nicht indexierte Property und verschieben Sie Daten, die nicht indexiert werden müssen, in diese Property.
Bei nicht indexierten Property-Werten können Sie die Property in mehrere Properties aufteilen oder die Komprimierung für den Property-Wert implementieren.
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Schwer verständlich","hardToUnderstand","thumb-down"],["Informationen oder Beispielcode falsch","incorrectInformationOrSampleCode","thumb-down"],["Benötigte Informationen/Beispiele nicht gefunden","missingTheInformationSamplesINeed","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 2025-09-05 (UTC)."],[[["\u003cp\u003eThis guide helps resolve issues with Firestore in Datastore mode, focusing on latency and error codes.\u003c/p\u003e\n"],["\u003cp\u003eIncreased latency can be caused by high traffic, contention, slow queries, large reads, recent deletes, or index fanout, each with specific resolutions.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eABORTED\u003c/code\u003e errors often result from too many updates to a single entity, contention from overlapping transactions, or traffic exceeding the 500-50-5 rule, with solutions that involve scaling and reducing write rates.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eRESOURCE_EXHAUSTED\u003c/code\u003e errors are triggered by exceeding the free tier quota without billing enabled, which can be resolved by waiting for the daily reset or enabling billing.\u003c/p\u003e\n"],["\u003cp\u003e\u003ccode\u003eINVALID_ARGUMENT\u003c/code\u003e errors arise from exceeding property value limits for indexed or un-indexed values, and require splitting the property into multiple properties or implementing compression.\u003c/p\u003e\n"]]],[],null,["# Troubleshooting\n\nThis page shows you how to resolve issues with Firestore in Datastore mode.\n\nLatency\n-------\n\nThe table below describes possible causes of increased latency:\n\nError Codes\n-----------\n\nThis section lists issues that you might encounter and provides suggestions for\nhow to fix each of them.\n\n### DEADLINE_EXCEEDED\n\n```\nDEADLINE_EXCEEDED\n\nA deadline was exceeded on the server.\n```\n\nTo resolve this issue, see the [guide to troubleshooting latency](#latency).\n\n### ABORTED\n\nThe following situations can increase `ABORTED` errors:\n\n- An entity receiving too many updates per second.\n- Contention from overlapping transactions.\n- Traffic increases that exceed the 500-50-5 rule or encounter hot-spots.\n\n```\nABORTED\n\nToo much contention on these datastore entities. Please try again.\n```\n\nOr \n\n```\nABORTED\n\nAborted due to cross-transaction contention. This occurs when multiple\ntransactions attempt to access the same data, requiring Datastore mode\nto abort at least one in order to enforce serializability.\n```\n\nTo resolve this issue:\n\n- For rapid traffic increases, Datastore mode attempts to automatically scale to meet the increased demand. When Datastore mode scales, latency begins to decrease.\n- Hot-spots limit the ability of Datastore mode to scale up, review [designing for scale](./best-practices#designing_for_scale) to identify hot-spots.\n- Review [data contention in transactions](/datastore/docs/concepts/transactions#isolation_and_consistency) and your usage of transactions.\n- Reduce the write rate to individual entities.\n\n### RESOURCE_EXHAUSTED\n\nThe following situations can lead to `RESOURCE_EXHAUSTED` errors:\n\nYou exceeded the [free tier quota](/datastore/pricing#free_quota) and billing is not enabled\nfor your project. \n\n```\nRESOURCE_EXHAUSTED\n\nSome resource has been exhausted, perhaps a per-user quota, or perhaps the entire file system is out of space.\n```\n\nTo resolve this issue:\n\n- Wait for the daily reset of your free tier quota or [enable billing for\n your project](/billing/docs/how-to/modify-project#enable_billing_for_a_project).\n\n### INVALID_ARGUMENT\n\nThe following situations can cause `INVALID_ARGUMENT` errors:\n\n- Attempting to commit an entity with an **indexed** property value greater than 1500 bytes. This limit applies to the UTF-8 encoding of the property value.\n- Attempting to commit an entity with **un-indexed** property values greater than 1,048,487 bytes (1 MiB - 89 bytes). This limit applies to the sum of the property values in an entity. For example, four properties of 256 KiB each exceed the limit.\n\n1,500 bytes (indexed) and 1,048,487 bytes (un-indexed) are\n[limits](/datastore/docs/concepts/limits) for property values. You cannot\nexceed these limits and they are not quotas that can be adjusted. \n\n```\nINVALID_ARGUMENT: The value of property property-name is longer than 1500 bytes\n```\n\nor \n\n```\nINVALID_ARGUMENT: The value of property property_name is longer than 1048487 bytes\n```\n\nTo resolve this issue:\n\n- For indexed property values, split the property into multiple properties. If possible, create an un-indexed property and move data that doesn't need to be indexed into the un-indexed property.\n- For un-indexed property values, split the property into multiple properties or implement compression for the property value."]]