مدتیه که برای سایت ما یک مشکلی ایجاد شده . هراز چند گاهی (البته بازیاد شدن تعداد کاربران حاضر در سایت) کاربران با خطای database connection failed!
روبرو می شن. می خواستم بدونم که برای رفع این مشکل چه راهکارایی وجود داره؟
سلام،
تعداد کاربران همزمان سایت شما (معمولا) چقدر است؟ از MySQL استفاده میکنید؟
خطای مورد نظر به این دلیل است که ارتباط با کارگزار پایگاه داده شما با موفقیت بر قرار نشده است. این امر ممکن است به دلیل down بودن لحظهای کارگزار مورد نظر و یا (اگر کارگزار پایگاه داده بر روی ماشین مجزایی نصب است) به دلیل قطع بودن لحظهای ارتباط شبکهای باشد.
استفاده از persistant connection را هم آزمایش نمایید.
CPU: 2 * Dual-Core Intel Xeon 5140, 2.66 GHz, 1333 MHz FSB, 4MB Cache
RAM: 4 GB(2*2 GB) PC2-5300 Fully Buffered DIMMs
H.D.D: 2*HP 72 GB Hot Plug 2.5" SAS 15K
2*HP 146 GB Hot Plug 2.5" SAS 10Kالبته این نکته رو هم بگم که گاهی با حدود 20-30 کاربر آنلاین هم به مشکل مذکور بر می خوریم. اگر راهنمایی کنید ممنون می شم
Error: Database connection failed.
It is possible that the database is overloaded or otherwise not running properly.
The site administrator should also check that the database details have been correctly specified in config.php
خصوصیات سخت افزاری سرور هم که تو پست قبل داده شده. کل کاربرای آنلاین هم به 100 تا نمی رسن! نمودارهای مونیتورینگ سرور رو هم به این پست الحاق می کنم. با توجه به اینکه سرور mysql ما از وب سرور جدا نیست آیا جدا کردن پایگاه داده می تونه به حل مشکل کمک کنه؟
لطفا در صورتی که می تونید در حل این مشکل به ما کمک کنید.
با تشکر
سلام،
۱. mysql-server را بهروز نمائید.
۲. محتوای فایل /var/log/musqld.log را ببینید. MySql بنا به دلائلی connection ها را refuse میکند که با مشاهدهٔ log باید بتوانید متوجه مشکل شوید.
در نظر گرفتن یک server مجزا برای پایگاه داده در مواردی که بار server زیاد باشه خیلی مؤثر هست، ولی در مورد server شما نیازی به انجام این کار نیست. مگر اینکه روی serverتون به جز مودل، برنامهٔ سنگین دیگه ای هم نصب کرده باشید که اون برنامه منابع زیادی رو مصرف کرده باشه.
آیا بعد از نصب به صورت پیشفرض (با yum نصب کردید دیگه. درسته؟)، tweak خاصی روی MySql انجام دادید؟ نسخهٔ دقیق mysql-server نصب شده چنده؟