{"id":24970,"date":"2022-09-02T00:00:00","date_gmt":"2022-09-02T00:00:00","guid":{"rendered":"https:\/\/www.mailgun.com\/blog\/mongodb-performance-verbesserung\/"},"modified":"2026-09-16T19:10:07","modified_gmt":"2026-09-16T19:10:07","slug":"mongodb-performance-verbesserung","status":"publish","type":"blog","link":"https:\/\/www.mailgun.com\/de\/blog\/it-and-engineering\/mongodb-performance-verbesserung\/","title":{"rendered":"Wie wir eine 30-fache Performance-Verbesserung bei den MongoDB-Lese-Einstellungen erzielt haben"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Sie wissen ja, was man sagt: Je redundanter man ist, desto redundanter ist man.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Replica-Sets sind Datenbankprozesse, die eine hohe Verf\u00fcgbarkeit gew\u00e4hrleisten und Serverausf\u00e4lle durch Redundanz reduzieren. Sie bilden die Grundlage f\u00fcr Produktionsumgebungen und sind eigentlich nicht als eigenst\u00e4ndige Tools gedacht, mit denen sich Ihre Antwortzeit und Performance-Metriken verbessern lassen. Bei Mailgun fielen uns hohe Antwortzeiten bei einem unserer Nodes auf, der den Support f\u00fcr diese Prozesse \u00fcbernimmt. Wir hassen es, ausgebremst zu werden \u2013 vor allem, wenn es keinen Sinn ergibt. Also machten wir uns daran, das Problem zu beheben.<\/p>\n\n\n\r\n    <nav data-content-type=\"longform\" class=\"toc-block longform-spacings px-5 py-6 px-md-6 px-lg-7 py-md-7 bg-light fs-sm rounded-lg\" aria-labelledby=\"toc-title-6548\"><p class=\"h5 m-0\" id=\"toc-title-6548\">Inhaltsverzeichnis<\/p><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">01<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#abnormale-antwortzeiten-ursachenfindung\">Abnormale Antwortzeiten: Ursachenfindung<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">02<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#mongodb-performance-erkenntnisse-aus-der-dokumentation\">MongoDB-Performance: Erkenntnisse aus der Dokumentation<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">03<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#fehlerbehebung-beim-golang-mongo-client\">Fehlerbehebung beim Golang Mongo Client\u202f<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">04<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#performance-verbesserung-bei-mongodb\">Performance-Verbesserung bei MongoDB<\/a><\/div><\/div><div class=\"d-flex mt-3\"><div class=\"w-auto fw-bold text-accent d-flex me-2\">05<\/div><div class=\"d-flex flex-column\"><a class=\"fw-bold scrollme link-body-color text-accent\" href=\"#wie-wir-auch-weiterhin-optimieren\">Wie wir auch weiterhin optimieren<\/a><\/div><\/div><\/nav>\n\n\n<h2 class=\"wp-block-heading\">Abnormale Antwortzeiten: Ursachenfindung<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Im Jahr 2021 fielen uns seltsame Performance-Probleme bei den Antwortzeiten f\u00fcr USW2 auf. Warum wir das jetzt erw\u00e4hnen? Wir profitieren immer noch von den durchgef\u00fchrten Anpassungen und m\u00f6chten dieses Wissen gerne mit Ihnen teilen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Zun\u00e4chst fiel uns auf, dass unser Rate-Limit-Service (basierend auf <a href=\"https:\/\/www.mailgun.com\/de\/blog\/it-and-engineering\/gubernator-cloud-native-distributed-rate-limiting-microservices\/#chapter-1\" target=\"_tabs\" rel=\"noopener noreferrer\">Gubernator<\/a>) bei unseren Prozessen in USW2 durchg\u00e4ngig Antwortzeiten von 150 ms aufwies. Seltsamerweise lag derselbe Code im 99. Perzentil der Anfragen bei durchschnittlich 5 ms. Diese Latenz war besonders seltsam, da wir im 50. Perzentil eine durchschnittliche Antwortzeit von etwa 2 ms erzielen.\u202fEs gab also etwas, das wir unbedingt untersuchen mussten.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Unser Ausgangspunkt war der <b>Vergleich der Metriken zwischen USW2 und USW1<\/b>. Wir f\u00fcgten weitere Metriken hinzu, um zu erfassen, wie lange der Abruf der Rate-Limit-Definitionen aus MongoDB dauerte (bei Cache-Fehlschl\u00e4gen), wodurch wir ein besseres Verst\u00e4ndnis der Vorg\u00e4nge erhielten.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-4944\" width=\"910\" height=\"444\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/graph1.png\" alt=\"Graph shows 150ms response time trend in USW2.\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/graph1.png 910w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/graph1-300x146.png 300w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/graph1-768x375.png 768w\" sizes=\"(max-width: 910px) 100vw, 910px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Das daraus resultierende Diagramm best\u00e4tigte den Trend von 150 ms in USW2, zeigte aber auch Antwortzeiten von 2\u20135 ms von MongoDB in USE1. Damit war das Problem eingegrenzt und es stand fest, dass <b>etwas mit der MongoDB-Konfiguration nicht stimmte, das sich speziell auf USW2 auswirkte<\/b>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">MongoDB-Performance: Erkenntnisse aus der Dokumentation<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Damit war \u201eSchritt 1: Problemfindung\u201c abgeschlossen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Als N\u00e4chstes haben wir uns intensiv mit der MongoDB-Dokumentation befasst. Der Aha-Moment kam, als wir die Haupttopologie von MongoDB verstanden und die Standard-Lese-Einstellungen von MongoDB entdeckten. MongoDB-Clients bevorzugen beim Lesen die <i>prim\u00e4re<\/i> Instanz in einem Cluster. Es ist nicht immer von Vorteil, wenn Ihre Datenbank Favoriten hat.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-4945\" width=\"2160\" height=\"1440\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-MongoDB-02.png\" alt=\"Image illustrates USW2 reading cross region to the primary node in USE1.\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-MongoDB-02.png 2160w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-MongoDB-02-300x200.png 300w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-MongoDB-02-768x512.png 768w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-MongoDB-02-1024x683.png 1024w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-MongoDB-02-1536x1024.png 1536w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-MongoDB-02-2048x1365.png 2048w\" sizes=\"(max-width: 2160px) 100vw, 2160px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In der Standardkonfiguration des MongoDB-Clients las der Client in USW2 regions\u00fcbergreifend aus dem <i>prim\u00e4ren<\/i> Node in USE1. Die MongoDB-Standardwerte sind so festgelegt, dass Vorg\u00e4nge aus sekund\u00e4ren Elementen lesen, <i>es sei denn<\/i>, das Set verf\u00fcgt \u00fcber eine einzelne prim\u00e4re Instanz. <\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Dokumentation wies darauf hin, dass wir durch die Verwendung von <code>readPreference=secondaryPreferred<\/code> in unserem MongoDB-Client in der Lage w\u00e4ren, eine Verbindung zu den lokalen MongoDB-Nodes herzustellen, anstatt nur zum <i>prim\u00e4ren<\/i> Node (USE1).<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-4946\" width=\"2160\" height=\"1440\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-MongoDB-01.png\" alt=\"Image shows how updating read preference to \u201cequals secondary preference\u201d allows us to connect to the local nodes instead of going across region.\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-MongoDB-01.png 2160w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-MongoDB-01-300x200.png 300w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-MongoDB-01-768x512.png 768w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-MongoDB-01-1024x683.png 1024w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-MongoDB-01-1536x1024.png 1536w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-MongoDB-01-2048x1365.png 2048w\" sizes=\"(max-width: 2160px) 100vw, 2160px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Perfekt. Diese Strukturierung w\u00fcrde es uns erm\u00f6glichen, die Performance zu optimieren, indem wir die Lesezugriffe auf mehrere sekund\u00e4re Server verteilen, sodass jeder Server auf weniger Leseanfragen antwortet. Wir dachten, dass die Aktualisierung unserer Lese-Einstellungen das Problem l\u00f6sen w\u00fcrde, aber so einfach ist es leider selten, oder? Manchmal ist die Situation eher ein Clusterf@%* (Wortspiel beabsichtigt).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Fehlerbehebung beim Golang Mongo Client\u202f<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Wir dachten wirklich, dass wir es mit diesen Lese-Einstellungen geschafft h\u00e4tten, aber nun schlug die Verbindung zum Cluster \u00fcber die URI fehl:<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"In die Zwischenablage kopieren\" data-clipboard-success-label=\"Kopiert\" data-clipboard-error-label=\"Kopieren nicht m\u00f6glich\" data-tooltip=\"In die Zwischenablage kopieren\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"In die Zwischenablage kopieren\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    mongodb:\/\/mongo-main-n01-us-east-1.postgun.com:27017,mongo-main-n02-us-eas t-1.postgun.com:27017,mongo-main-n03-us-east-1.postgun.com:27017\/?tlsCerti ficateKeyFile=\/etc\/mailgun\/ssl\/mongo.pem&amp;tlsCAFile=\/etc\/mailgun\/ssl\/mongo ca.crt&amp;replicaSet=main&amp;readPreference=secondary&amp;readPreferenceTags=dc:use1 &amp;readPreferenceTags=dc:usw2\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n\n<p class=\"wp-block-paragraph\">Es stellte sich heraus, dass wir <a href=\"https:\/\/www.mailgun.com\/de\/blog\/product\/woechentliches-produkt-update-50-bessere-datenbankleistung-und-umzug-zu-mailgun-com\/\" target=\"_tabs\" rel=\"noopener noreferrer\">eine \u00e4ltere Version des MongoDB-Clients nutzten<\/a> (<code>go.mongodb.org\/mongo-driver v1.0.2<\/code>), die f\u00fcr unsere TLS-Optionen keinen Support bot. Als wir das herausgefunden hatten, konnten wir endlich die Bereitstellung vornehmen und pr\u00fcfen, ob die Aktualisierung unserer Lese-Einstellungen Auswirkungen hatte, nachdem wir ein Upgrade auf <code>go.mongodb.org\/mongo-driver v1.7.3<\/code> vorgenommen und ein kleines Problem mit dem URI-Format in unserem Framework behoben hatten:<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"code-snippet longform-spacings rounded-lg overflow-hidden shadow \" data-count=\"1\">\r\n        <ul class=\"nav nav-buttons code-snippet__tabs longform-except position-relative d-flex gap-2 flex-wrap p-3\" role=\"tablist\">\r\n\r\n                            \r\n                    \r\n                        <li class=\"nav-item\" role=\"presentation\">\r\n                            <button class=\"nav-link active\" data-bs-toggle=\"tab\" data-bs-target=\"#code_0\" type=\"button\" role=\"tab\" aria-controls=\"code_0\" aria-selected=\"true\">\r\n                                PHP                            <\/button>\r\n                        <\/li>\r\n\r\n                    \r\n                            \r\n        <\/ul>\r\n        <div class=\"code-snippet__tab-content tab-content\">\r\n\r\n                            \r\n                    <div class=\"tab-pane show active\" id=\"code_0\" role=\"tabpanel\" aria-labelledby=\"code_0\">\r\n                        <div class=\"code-snippet__code-wrapper\">\r\n                            <div class=\"nav nav-buttons code-snippet__copy-wrapper\">\r\n                                <button type=\"button\" class=\"nav-link code-snippet__copy\" data-clipboard-target=\"#code_0_content\" data-clipboard-label=\"In die Zwischenablage kopieren\" data-clipboard-success-label=\"Kopiert\" data-clipboard-error-label=\"Kopieren nicht m\u00f6glich\" data-tooltip=\"In die Zwischenablage kopieren\" data-tooltip-placement=\"left\" role=\"tooltip\" aria-label=\"In die Zwischenablage kopieren\">\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--default\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/file-stack.svg\"><\/svg>\r\n                                    <svg class=\"code-snippet__copy-icon code-snippet__copy-icon--success\" width=\"24\" height=\"24\" aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/sinch\/badge-check.svg\"><\/svg>\r\n                                <\/button>\r\n                            <\/div>\r\n                            <pre class=\"w-100 h-100 m-0 line-numbers language-PHP\">\r\n                                <code id=\"code_0_content\" class=\"language-PHP\">\r\n\r\n                                    PIP-1477: URIWithOptions() now correctly injects a &#039;\/&#039; after host list by thrawn01 \u00b7 Pull Request #92 \u00b7 mailgun\/holster\r\n                                <\/code>\r\n                            <\/pre>\r\n                        <\/div>\r\n                    <\/div>\r\n                                    <\/div>\r\n    <\/div>\r\n\n\n    <div data-content-type=\"longform\"  class=\"callout text-body-color px-5 py-6 px-md-6 px-lg-7 py-md-7 longform-spacings rounded-lg bg-light\" data-theme=\"light\">\r\n\r\n        <div class=\"content-body\"> <b>Hinweis:<\/b> Wenn Ihre URI-Optionen nicht funktionieren und der Mongo-Treiber keinen Fehler ausgibt, f\u00fchren Sie eine \u00e4ltere Version von Mongo aus und m\u00fcssen diese aktualisieren.<\/div>\r\n    <\/div>\r\n\n\n\n<h2 class=\"wp-block-heading\">Performance-Verbesserung bei MongoDB<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Das brachte schlie\u00dflich den gew\u00fcnschten Erfolg. Die Auswirkung war enorm und f\u00fchrte zu einer <b>~30-fachen Verbesserung (Antwortzeit von 5\u201310 ms im 99. Perzentil) der Lese-Performance in USW2<\/b>.\u202f Nicht schlecht.<\/p>\n\n\n\n<figure class=\"wp-block-image size-full\"><img decoding=\"async\" class=\"wp-image-4947\" width=\"906\" height=\"406\" src=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/graph2.png\" alt=\"Graph shows a 30-time improvement and response times hovering between 5-10ms in the 99th percentile.\" srcset=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/graph2.png 906w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/graph2-300x134.png 300w, https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/graph2-768x344.png 768w\" sizes=\"(max-width: 906px) 100vw, 906px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Unsere L\u00f6sung begann mit der Untersuchung der Abrufraten, um den betroffenen Server zu isolieren, und f\u00fchrte uns dazu, unsere Logik der Lese-Einstellungen auf der Grundlage der Dokumentation des MongoDB-Clients zu optimieren. Letztendlich fanden wir heraus, dass es sich auch um ein Versionsproblem handelte und wir unseren MongoDB Go Driver aktualisieren mussten, um erfolgreich eine Verbindung zur Cluster-URI herzustellen und unsere Antwortzeit zu verbessern.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wie wir auch weiterhin optimieren<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Die Ursachendiagnose geh\u00f6rt zum Entwicklungsalltag und die L\u00f6sung von Performance-Problemen erfolgt Schritt f\u00fcr Schritt. Wenn Sie \u00e4hnliche Latenzen in Ihren Metriken feststellen, beginnen Sie mit der \u00dcberpr\u00fcfung Ihrer Server, <a href=\"https:\/\/www.mailgun.com\/de\/blog\/it-and-engineering\/gubernator-cloud-native-distributed-rate-limiting-microservices\/\" target=\"_tabs\" rel=\"noopener noreferrer\">Rate-Limit-Services<\/a>, und vergessen Sie nicht, den Support f\u00fcr Features Ihrer Mongo-Treiberversion zu \u00fcberpr\u00fcfen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Mit derartigen Untersuchungen und Updates arbeiten wir daran, ein besseres Gesamtsystem und ein noch besseres Nutzererlebnis zu schaffen. Wenn Sie mehr von unserem Entwicklungsteam h\u00f6ren m\u00f6chten, sollten Sie unseren Newsletter abonnieren, um k\u00fcnftig keine Berichte und Einblicke in den Betrieb zu verpassen.<\/p>\n\n\n    <div data-content-type=\"longform\" class=\"longform-spacings\">\r\n        <div class=\"cta bg-primary rounded-lg px-5 py-6 p-md-7 px-md-6\">\r\n                    <div class=\"form-subscription\">\r\n                            <div class=\"h4 mb-3\">\r\n                    Bleiben Sie informiert! Erhalten Sie jede Woche wertvolle Inhalte direkt in Ihr Posteingang.                <\/div>\r\n                                    <form accept-charset=\"UTF-8\" action=\"\" enctype=\"multipart\/form-data\" data-form-subscription method=\"POST\" style=\"max-width: 400px;\">\r\n                <div class=\"row justify-content-between align-items-top g-2\">\r\n                    <div class=\"col-10\">\r\n                        <input type=\"email\" name=\"email\" class=\"form-control\" placeholder=\"Email\" autocomplete=\"email\" required>\r\n                        <div data-fs=\"error\" role=\"alert\" class=\"invalid-feedback\">\r\n                            Please complete this required field.                        <\/div>\r\n                    <\/div>\r\n                                            <div class=\"col-12 order-last mt-3 fs-xxs\" data-fs=\"acceptance\" style=\"display:none;\">\r\n                            \r\n                                <div class=\"form-check\">\r\n                                    <input id=\"formSubscriptionAcceptance-terms-9693\" class=\"form-check-input\"\r\n                                        type=\"checkbox\" name=\"terms\">\r\n                                    <label for=\"formSubscriptionAcceptance-terms-9693\" class=\"form-check-label text-body-color\">\r\n                                        Ich habe die Servicebedingungen gelesen und stimme ihnen zu.                                        <span class=\"hs-form-required\">*<\/span>\r\n                                    <\/label>\r\n                                <\/div>\r\n\r\n                            \r\n                                <div class=\"form-check\">\r\n                                    <input id=\"formSubscriptionAcceptance-privacy-2046\" class=\"form-check-input\"\r\n                                        type=\"checkbox\" name=\"privacy\">\r\n                                    <label for=\"formSubscriptionAcceptance-privacy-2046\" class=\"form-check-label text-body-color\">\r\n                                        Ich habe die Datenschutzerkl\u00e4rung gelesen und bin damit einverstanden.                                        <span class=\"hs-form-required\">*<\/span>\r\n                                    <\/label>\r\n                                <\/div>\r\n\r\n                                                    <\/div>\r\n                    \r\n                                            <div class=\"col-12 order-last fs-xxs mb-0 mt-2 text-body-color\">\r\n                            Senden Sie mir den Mailjet-Newsletter. Ich bin mit dem Erhalt des Newsletters einverstanden und wei\u00df, dass ich mich jederzeit unkompliziert wieder abmelden kann.                        <\/div>\r\n                    \r\n                    <div class=\"col-2\">\r\n                        <button type=\"submit\" value=\"Submit\" aria-label=\"Submit\" class=\"btn btn-secondary btn-icon\">\r\n                            <svg aria-hidden=\"true\" data-url=\"https:\/\/www.mailgun.com\/wp-content\/plugins\/sinch-core\/assets\/icons\/layout\/chevron-right.svg\"><\/svg>\r\n                        <\/button>\r\n                    <\/div>\r\n                <\/div>\r\n\r\n                <input type=\"hidden\" name=\"formSubscriptionRecaptchaToken\" data-fs=\"recaptcha-token\">\r\n                <input type=\"hidden\" name=\"customListID\" value=\"\">\r\n\r\n            <\/form>\r\n            <div data-fs=\"message-success\" style=\"display: none;\">\r\n                <p class=\"mb-0 mt-2 text-body-color\">\r\n                    Pr\u00fcfen Sie Ihren Posteingang jeden Monat auf Ihren Mailjet Newsletter!                <\/p>\r\n            <\/div>\r\n        <\/div>\r\n        <\/div>\r\n    <\/div>\r\n","protected":false},"excerpt":{"rendered":"<p>Performance-Metriken sind oft ein sensibles Thema. Wenn die Antwortzeiten pl\u00f6tzlich in die H\u00f6he schnellen, kann die Ursachenforschung eine Herausforderung sein. Liegt es an Ihren Servern? An Ihrem Code? Oder an einer winzigen Einstellung oder Best Practice, die irgendwo in MongoDB vergraben ist \u2026<\/p>\n","protected":false},"author":35,"featured_media":4843,"menu_order":0,"template":"","meta":{"_acf_changed":false,"footnotes":""},"blog_category":[23],"class_list":["post-24970","blog","type-blog","status-publish","has-post-thumbnail","hentry","blog_category-it-and-engineering"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Das wussten Sie noch nicht \u00fcber MongoDB \u2013 und es kann Ihre Performance um das 30-Fache steigern - Transactional Email API Service For Developers | Mailgun<\/title>\n<meta name=\"description\" content=\"Die Optimierung Ihrer Lese-Einstellungen in MongoDB kann Ihre Antwortzeit verringern. Werfen Sie einen Blick hinter die Kulissen von Mailgun und erfahren Sie, wie wir das herausgefunden haben, um eine 30-fache Performance-Verbesserung zu erzielen.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.mailgun.com\/de\/blog\/it-and-engineering\/mongodb-performance-verbesserung\/\" \/>\n<meta property=\"og:locale\" content=\"de_DE\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Das wussten Sie noch nicht \u00fcber MongoDB \u2013 und es kann Ihre Performance um das 30-Fache steigern - Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"og:description\" content=\"Die Optimierung Ihrer Lese-Einstellungen in MongoDB kann Ihre Antwortzeit verringern. Werfen Sie einen Blick hinter die Kulissen von Mailgun und erfahren Sie, wie wir das herausgefunden haben, um eine 30-fache Performance-Verbesserung zu erzielen.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.mailgun.com\/de\/blog\/it-and-engineering\/mongodb-performance-verbesserung\/\" \/>\n<meta property=\"og:site_name\" content=\"Transactional Email API Service For Developers | Mailgun\" \/>\n<meta property=\"article:modified_time\" content=\"2026-09-16T19:10:07+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-IT-Engineering.png\" \/>\n\t<meta property=\"og:image:width\" content=\"720\" \/>\n\t<meta property=\"og:image:height\" content=\"448\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"5\u00a0Minuten\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/it-and-engineering\\\/mongodb-performance-verbesserung\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/it-and-engineering\\\/mongodb-performance-verbesserung\\\/\",\"name\":\"Das wussten Sie noch nicht \u00fcber MongoDB \u2013 und es kann Ihre Performance um das 30-Fache steigern - Transactional Email API Service For Developers | Mailgun\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/it-and-engineering\\\/mongodb-performance-verbesserung\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/it-and-engineering\\\/mongodb-performance-verbesserung\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-IT-Engineering.png\",\"datePublished\":\"2022-09-02T00:00:00+00:00\",\"dateModified\":\"2026-09-16T19:10:07+00:00\",\"description\":\"Die Optimierung Ihrer Lese-Einstellungen in MongoDB kann Ihre Antwortzeit verringern. Werfen Sie einen Blick hinter die Kulissen von Mailgun und erfahren Sie, wie wir das herausgefunden haben, um eine 30-fache Performance-Verbesserung zu erzielen.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/it-and-engineering\\\/mongodb-performance-verbesserung\\\/#breadcrumb\"},\"inLanguage\":\"de\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/it-and-engineering\\\/mongodb-performance-verbesserung\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/it-and-engineering\\\/mongodb-performance-verbesserung\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-IT-Engineering.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/07\\\/MG-Blog-IT-Engineering.png\",\"width\":720,\"height\":448},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/it-and-engineering\\\/mongodb-performance-verbesserung\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Blog\",\"item\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/blog\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Wie wir eine 30-fache Performance-Verbesserung bei den MongoDB-Lese-Einstellungen erzielt haben\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#website\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"description\":\"Leistungsstarke Transaktions-E-Mail-APIs, mit denen Sie E-Mails senden, empfangen und nachverfolgen k\u00f6nnen, speziell f\u00fcr Entwickler konzipiert. Erfahren Sie noch heute mehr!\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"de\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#organization\",\"name\":\"Transactional Email API Service For Developers | Mailgun\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"de\",\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-android-chrome-512x512-1.png\",\"contentUrl\":\"https:\\\/\\\/www.mailgun.com\\\/wp-content\\\/uploads\\\/2025\\\/06\\\/cropped-android-chrome-512x512-1.png\",\"width\":512,\"height\":512,\"caption\":\"Transactional Email API Service For Developers | Mailgun\"},\"image\":{\"@id\":\"https:\\\/\\\/www.mailgun.com\\\/de\\\/#\\\/schema\\\/logo\\\/image\\\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Das wussten Sie noch nicht \u00fcber MongoDB \u2013 und es kann Ihre Performance um das 30-Fache steigern - Transactional Email API Service For Developers | Mailgun","description":"Die Optimierung Ihrer Lese-Einstellungen in MongoDB kann Ihre Antwortzeit verringern. Werfen Sie einen Blick hinter die Kulissen von Mailgun und erfahren Sie, wie wir das herausgefunden haben, um eine 30-fache Performance-Verbesserung zu erzielen.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.mailgun.com\/de\/blog\/it-and-engineering\/mongodb-performance-verbesserung\/","og_locale":"de_DE","og_type":"article","og_title":"Das wussten Sie noch nicht \u00fcber MongoDB \u2013 und es kann Ihre Performance um das 30-Fache steigern - Transactional Email API Service For Developers | Mailgun","og_description":"Die Optimierung Ihrer Lese-Einstellungen in MongoDB kann Ihre Antwortzeit verringern. Werfen Sie einen Blick hinter die Kulissen von Mailgun und erfahren Sie, wie wir das herausgefunden haben, um eine 30-fache Performance-Verbesserung zu erzielen.","og_url":"https:\/\/www.mailgun.com\/de\/blog\/it-and-engineering\/mongodb-performance-verbesserung\/","og_site_name":"Transactional Email API Service For Developers | Mailgun","article_modified_time":"2026-09-16T19:10:07+00:00","og_image":[{"width":720,"height":448,"url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-IT-Engineering.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"5\u00a0Minuten"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.mailgun.com\/de\/blog\/it-and-engineering\/mongodb-performance-verbesserung\/","url":"https:\/\/www.mailgun.com\/de\/blog\/it-and-engineering\/mongodb-performance-verbesserung\/","name":"Das wussten Sie noch nicht \u00fcber MongoDB \u2013 und es kann Ihre Performance um das 30-Fache steigern - Transactional Email API Service For Developers | Mailgun","isPartOf":{"@id":"https:\/\/www.mailgun.com\/de\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/it-and-engineering\/mongodb-performance-verbesserung\/#primaryimage"},"image":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/it-and-engineering\/mongodb-performance-verbesserung\/#primaryimage"},"thumbnailUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-IT-Engineering.png","datePublished":"2022-09-02T00:00:00+00:00","dateModified":"2026-09-16T19:10:07+00:00","description":"Die Optimierung Ihrer Lese-Einstellungen in MongoDB kann Ihre Antwortzeit verringern. Werfen Sie einen Blick hinter die Kulissen von Mailgun und erfahren Sie, wie wir das herausgefunden haben, um eine 30-fache Performance-Verbesserung zu erzielen.","breadcrumb":{"@id":"https:\/\/www.mailgun.com\/de\/blog\/it-and-engineering\/mongodb-performance-verbesserung\/#breadcrumb"},"inLanguage":"de","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.mailgun.com\/de\/blog\/it-and-engineering\/mongodb-performance-verbesserung\/"]}]},{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.mailgun.com\/de\/blog\/it-and-engineering\/mongodb-performance-verbesserung\/#primaryimage","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-IT-Engineering.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/07\/MG-Blog-IT-Engineering.png","width":720,"height":448},{"@type":"BreadcrumbList","@id":"https:\/\/www.mailgun.com\/de\/blog\/it-and-engineering\/mongodb-performance-verbesserung\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.mailgun.com\/de\/"},{"@type":"ListItem","position":2,"name":"Blog","item":"https:\/\/www.mailgun.com\/de\/blog\/"},{"@type":"ListItem","position":3,"name":"Wie wir eine 30-fache Performance-Verbesserung bei den MongoDB-Lese-Einstellungen erzielt haben"}]},{"@type":"WebSite","@id":"https:\/\/www.mailgun.com\/de\/#website","url":"https:\/\/www.mailgun.com\/de\/","name":"Transactional Email API Service For Developers | Mailgun","description":"Leistungsstarke Transaktions-E-Mail-APIs, mit denen Sie E-Mails senden, empfangen und nachverfolgen k\u00f6nnen, speziell f\u00fcr Entwickler konzipiert. Erfahren Sie noch heute mehr!","publisher":{"@id":"https:\/\/www.mailgun.com\/de\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.mailgun.com\/de\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"de"},{"@type":"Organization","@id":"https:\/\/www.mailgun.com\/de\/#organization","name":"Transactional Email API Service For Developers | Mailgun","url":"https:\/\/www.mailgun.com\/de\/","logo":{"@type":"ImageObject","inLanguage":"de","@id":"https:\/\/www.mailgun.com\/de\/#\/schema\/logo\/image\/","url":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/cropped-android-chrome-512x512-1.png","contentUrl":"https:\/\/www.mailgun.com\/wp-content\/uploads\/2025\/06\/cropped-android-chrome-512x512-1.png","width":512,"height":512,"caption":"Transactional Email API Service For Developers | Mailgun"},"image":{"@id":"https:\/\/www.mailgun.com\/de\/#\/schema\/logo\/image\/"}}]}},"_links":{"self":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog\/24970","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog"}],"about":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/types\/blog"}],"author":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/users\/35"}],"version-history":[{"count":2,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog\/24970\/revisions"}],"predecessor-version":[{"id":25064,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog\/24970\/revisions\/25064"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/media\/4843"}],"wp:attachment":[{"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/media?parent=24970"}],"wp:term":[{"taxonomy":"blog_category","embeddable":true,"href":"https:\/\/www.mailgun.com\/de\/wp-json\/wp\/v2\/blog_category?post=24970"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}