fsync, synchronous_commit והאם ניתן לגעת בהם

הפתרון האפשרי הקיצוני ביותר - להגדיר את הערך של הפרמטר fsync כי off. זה יגרום לכך שרשומות היומן לא יועברו בכוח לדיסק, אשר ייתן דחיפה למהירות הקלטת הרשומות. הערה: אתה מקריב את האמינות ובמקרה של כישלון שלמות הנתונים תהיה בסכנה, ותצטרך לשחזר את הנתונים מגיבוי!

שימוש באפשרות זו מומלצת רק במקרה אם אתה סומך באופן מלא בחומרה שלך ומנגנון אל פסק. או אם הנתונים במסד הנתונים אינם מייצגים ערך מיוחד עבורך.

פרמטר synchronous_commit מציין אם ברצונך להמתין להשלמת כתיבה של רשומות WAL לדיסק לפני דיווח על סיומה מוצלחת של טרנסאקציה ללקוח מחובר.

כברירת מחדל, וכן לביטחון פרמטר זה מוגדר כי on (מופעל). אם תבטל אפשרות זו (off) ייתכן שיש עיכוב בין הרגע שבו מודיעים ללקוח היא על הצלחת הטרנסאקציה לבין הרגע בו היא נשמרת בבטחה על הדיסק (עיכוב מקסימאלי - wal_writer_delay * 3). בניגוד ל fsync, השבתת האפשרות הזו אינה יוצרת סיכון של קריסת מסד הנתונים: הנתונים עלולים ללכת לאיבוד (הסט האחרון של טרנסאקציות), אבל מסד הנתונים אינו חייב להתאושש אחרי הכשל מגיבוי. אז synchronous_commit עשוי להיות אלטרנטיבה יעילה כאשר ביצועים חשובים יותר מוודאות של סנכרון הנתונים (מצב זה יכול להיקרא MongoDB: בתחילה, כל הלקוחות של MongoDB לא בדקו את ההצלחה של כתיבה של נתונים למסד הנתונים ובכך השיגו מהירות טובה במבחני הביצועים).