تعطل حوادث قواعد البيانات / الإسبات تحت الحمل: غير قادر على الاتصال (حتى عند التجمع)

StackOverflow https://stackoverflow.com/questions/571279

سؤال

لدي تطبيق في الشجر. يمكنني استخدام السبات للوصول إلى قاعدة البيانات (لكل قواعد الشجر القياسية) يمكنني استخدام MySQL ويعمل الموقع ومستقر (لمدة 6 أشهر).

أقوم باختبار التحميل، واكتشفت مؤخرا أن قاعدة البيانات ترفض الاتصالات عند الحمل.

باستخدام MySQL Server 5، أستطيع أن أرى المواضيع المتصلة تحوم حول 20. اعتقدت أني بين 11 - 30.

mysql> show status like '%con%';
+--------------------------+-------+
| Variable_name            | Value |
+--------------------------+-------+
| Aborted_connects         | 72    |
| Connections              | 65539 |
| Max_used_connections     | 101   |
| Ssl_client_connects      | 0     |
| Ssl_connect_renegotiates | 0     |
| Ssl_finished_connects    | 0     |
| Threads_connected        | 1     |
+--------------------------+-------+
7 rows in set (0.00 sec)

تكوين قاعدة البيانات الخاص بي هو قياسي. (يتم تثبيت خادم MySQL محليا، غير موضح)

dataSource {
    pooled = false
    driverClassName = "com.mysql.jdbc.Driver"
    username = "username"
    password = "secret"

    maxIdle = 15
    maxActive = 100        
}

يجب علي التحقيق في C3P0؟ أو هل يجب أن أشعلت Maxactive الخاص بي إلى 1000 وأتمنى للأفضل؟

هل كانت مفيدة؟

المحلول

ما الخطأ هو تقارير الشجاعة عندما لا يمكن الحصول على اتصال قاعدة البيانات؟ نفذ الوقت؟ رفض؟

عند تشغيل الاختبار الخاص بك، كيف يتم تحميل المربع؟ في المئة وحدة المعالجة المركزية، واستخدام الذاكرة، إلخ.

من الممكن أن تكون قاعدة البيانات مثالية لدرجة أن الشجاعة توقيت الحصول على الاتصالات. إذا كنت ترغب في التعامل مع الحمل، فسترغب في الذهاب إلى اتصالات DB المجمعة. بدون تجمع، سيتم فتح الشجاعة وإغلاق اتصال DB مع كل طلب.

نصائح أخرى

تحقق من تكوين MySQL الخاص بك (/etc/mysql.conf أو هو ما يعادلها المحلي)، وخاصة اتصالات الأقصى و MAX CONN لكل إعدادات المستخدم؛ هذا يبدو كما لو قد يأتي من MySQL وليس الشجر.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top