לאפשר שאילתות איטי יומני MySQL
מאמר זה הוא התוצאה של תרגום אוטומטי המבוצע על ידי תוכנה. אתה יכול להציג את מקור המאמר כאן.
fr:Activer les logs de requêtes lentes MySQL
he:לאפשר שאילתות איטי יומני MySQL
ro:Enable lent întrebare MySQL busteni
ru:Включение медленных запросов MySQL журналы
pl:Po wolnych zapytań MySQL logi
ja:低速のクエリ MySQL のログを有効にします。
ar:تمكين الاستعلامات بطيئة سجلات الخلية
zh:启用慢速查询 MySQL 日志
de:Langsame Abfragen MySQL Protokolle aktivieren
nl:Langzame vragen MySQL logboeken inschakelen
it:Attivare slow query log di MySQL
pt:Permitir consultas lentas os logs do MySQL
es:Permitir consultas lentas de MySQL logs
en:Enable slow queries MySQL logs
מבוא
ייתכן שתקבל התראות בפיקוח על שאילתות mysql איטי (slow queries) : ces erreurs sont produites quand le temps d'exécution d'une requête MySQL dépasse le temps alloué défini par la variable MySQL long_query_time. Ces erreurs pouvant être produites par différents facteurs, nous verrons ici comment activer les logs de ces erreurs afin de les analyser et les corriger.
המקום
Veuillez noter qu'activer les logs de slow queries peut ralentir votre שרת, étant donné que des écritures seront effectuées en même temps que l'exécution des requêtes lentes.
ודא יומני אינן כבר פעיל
כדי להבטיח כי יומני הרישום של שאילתות איטי לא פועלים כבר, להתחבר ב- SSH המכונה שלך והזן את הקליפה MySQL :
mysql -u utilisateur -p
[mot de passe]
פעם אחת בתוך הקליפה MySQL, הזן את הפקודה הבאה כדי לקבל הרשימה של כל המשתנים וערכיהם :
show variables;
נווט כדי לראות את המשתנה בעמודה השמאלית "slow_query_log" : על 'אנחנו ", יומני פעילים. על 'את ', אנחנו חייבים להפעיל אותם.
לאפשר ולהגדיר את השאילתות איטי של יומן רישום
תמיד בתוך הקליפה MySQL, הזן את הפקודה הבאה :
set global slow_query_log = 'ON';
באפשרותך גם להגדיר נתיב לספריה היכן יאוחסן את יומני הרישום של השאילתה איטי :
set global slow_query_log_file ='/var/log/mysql/slow-query.log';
לבסוף, הגדר בזמן מינימלי המוקצים לכל בקשת כדי לוודא שיש לך אין תוצאות חיוביות שגויות של שאילתות איטי : 10 שניות הוא ערך נכון, 20 שניות מומלץ אם זה קורה זה שלך שרת להחליש אל מול מספר שאילתות ומבקרים (משתנה זה מוגדר ל בסיסי 10 שניות) :
set global long_query_time = '20';
לבסוף, ודא כי השינויים נלקחו בחשבון על ידי ביצוע הפקודה :
show variables like '%slow%';
לנתח את יומני
במקרה של ניטור התראות אומר לך שאילתות כתובים כמו איטי, באפשרותך לנתח עכשיו את היומנים של slow_queries על מנת להבין את הסיבה לעיכובים הללו :
# montrera les requêtes en temps réel
tail -f /var/log/mysql/slow-query.log # défini dans notre exemple ci-dessus
# sortie complète du fichier
cat /var/log/mysql/slow-query.log
# naviguer de haut en bas
less /var/log/mysql/slow-query.log
הסבר התופעה
כפי שהוסבר בתחילת הטופס הזה, שאילתות איטי הם dedfinie על-ידי הזמן של ביצוע השאילתה מוגדר ; אם השאילתה אורכת יותר זמן שהוגדרה על-ידי long_query_time להורג, זה מוגדר querie איטי. הסיבה הראשונה קבלת שאילתות ארוכות-יכול להיות רע הגדרת משתנה של MySQL "long_query_time" ; הזמן המרבי נמוך מדי יכול להכניס מהשאילתות כבד ישירות איטי בזמן שהם למעשה די נורמלי.
סיבה נוספת עשויה להיות קשורה באמצעות MySQL על-ידי שירות חיצוניים ; במקרה של אתר אינטרנט, לדוגמה, תכנות רע מאוד לא אוטומטי קשרים קרובים ל MySQL ניתן למלא את המאגר, שהופך את השאילתות כבר פועל.
תצורת מסד הנתונים רע יכול להיות גם הגורם של התופעה : צירופים של טבלאות או את הסימנים (מפתח) ניתן להפיק את השגיאות האלו - כך למשל במקרה של טבלה ללא מפתח ראשי.
Enfin, il ne faut pas exclure l'hypothèse d'une attaque sur votre שרת, générant de nombreuses requêtes qui finiront par s'entasser et donc dépasser la limite de temps d'exécution définie par long_query_time.
מסקנה
יומני הרישום עכשיו פעילים, אמור לאפשר לך לנתח יותר איטי פעולות על מסד הנתונים שלך, ומאפשר לך לאבחן בעיות של ביצועים, תכנות או שמיועד התקפות. בנוסף, עכשיו יש לך תמונה טובה יותר על פעולות המבוצעות על שלך שרת מסד נתונים.
מאמר זה נראה שימושי ?
הפעלת רענון אוטומטי של התגובות