הפעלתי קמפיין שהיו לי מאות שיחות בו זמנית (ימות המשיח באמצעות שלוחת API) .
בסופו של דבר הmysql סגר את עצמו לעשר דקות (לא קריסה של השרת הCPU בקושי גירד 20 %).
סיבת הדבר הוא ככל הנראה בכמות החיבורים האפשרי בו זמנית.
כבר מזמן עשיתי חיפוש בנושא והגדרתי בקובץ mysqld.cnf את
max_connections = 2500
open_files_limit = 2048
מה שמוזר לי ביותר שכאשר אני בודק את SHOW FULL PROCESSLIST אני לא רואה יותר מאחד, שזה של השאילתה עצמה של הבדיקה...
(כאשר אני פותח תוכנה של ניהול MYSQL אני כן רואה עוד 2/3 חיבורים, אבל תו לא).
למעשה לא מזמן עשיתי שינוי במחלקה שלי להתחברות לMYSQL והגדרתי שעל כל שאילתה החיבור ייסגר מידית, ואפילו אם יהיו כמה שאילתות בסקריפט (PHP) אחד, זה ייפתח ויסגר על כל שאילתה. כך המליצו לי, (הייתי צריך את זה בגלל סקריפטים שניגשים למקורות חיצוניים שיכולים להתמשך זמן מה, שלא יהיה חיבור פתוח סתם, ולא יעבור את המקסימום המתנה).
מצד שני בסטיסטיקות אני כן רואה שישנם הרבה חיבורים בו זמנית, (Max. concurrent connections 64) .
השאלה היא איך אני יכול לראות בצורה אחרת את כמות החיבורים בו זמנית?
ומה עוד אני יכול לעשות להגדיל את המקסימום?
תודה