בלוגים

זכרון עבור פקודת VACUUM

maintenance_work_mem - פרמטר זה מגידר את כמות הזיכרון עבור פקודות:

VACUUM, ANALYZE, CREATE INDEX והוספת מפתחות זרים.

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

אפשר לקבוע את ערך בין 50 ל 75% ביחס לגודל של טבלה או אינדקס הכי גדולים.

א כאשר אי אפשר לקבוע במדוייק, מ -32 עד 256 MB.

חייבים לקבוע ערך יותר גדול מאשר work_mem. ערך גדול מדי יגרום ל swappingי

לדוגמה, לזיכרון 1-4 GB מומלץ להגדירן 128-512 MB.

 

פעם הבאה נדבר על temp_buffers.

זיכרון מיון תוצאת השאילתה work_mem

מגדיר את הכמות המקסימאלית של זיכרון RAM פעולה אחת של מיון, אגרגציה וכו' יכולה לתפוס.

זה לא הזיכרון המשותף, work_mem מתוקצב באופן נפרד עבור כל פעולה (מאחד עד מספר פעמים לבקשה).

ערך סביר נקבע כדלקמן:

הסכום הזמין של RAM (אחרי שמופחתים מהזיכרון כל מה שדרוש ליישומים אחרים ואת shared_buffers) מחולק במספר המרבי של בקשות מקבילות שמוכפל במספר הממוצע של פעולות בבקשה אשר הדורשים את הזיכרון.

אם קיבולת הזיכרון לא מספיקה כדי למיין תוצאה כלשהי, אז תהלי ישתמש בקבצים זמניים.

אם קיבולת הזיכרון היא גדולה מדי, זה יכול להוביל ל swapping.

שינוי הגדרות של השרת - שימוש בזיכרון

buffer המשוף של השרת - shared_buffers

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

אל תשתמשו בהגדרות ברירת המחדל

מהקופסה PostgreSQL מוגדר בדרך כזאת, שאפשר להריץ אותו כמעט בכל מחשב והוא לא יפריע במיוחד לאפליקציות אחרות.

זה מתיחס במיוחד לשימוש בזכרון.

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

אם אתם מתכוונים לפתח (ולהעביר לסביבת היצור) אפליקציות אמיתיות, אז תצטרכו לשנות קיצונית את ההגדרות.

בחבילת הפצה PostgreSQL לצערי לא תמצאו קבצים עם הגדרות "מומלצות".

ובכלל, ליצור קבצים כאלה די מסובך, כי הגדרות אופטימליות של התקנת מסויימת של המוצר יושפעו ע"י:

סקירה קטנה על PostgreSQL למתחילים

בתהליך הבחירה של מסד נתונים, עליך לענות על שאלה אחת בבירור. האם אני צריך למשימה שהגדרתי מסד נתונים רלציוני (RDBMS) או שאני יכול להשתמש במסד נתונים מסוג אחר. אם תחליט להשתמש בRDBMS, אז אתה צריך לדעת לבחור ממגוון הבחירות הקיימות בשוק. אני מציע לשים לב ל PostgreSQL. זהו מסד נתונים רלציוני המתקדם ביותר בעולם עם קוד פתוח. בנוסף, שלא כמו מוצרים opensource רבים, למוצר אין את החיסרון העיקרי שלהם - חוסר תמיכה.