| |||||||
| المدوّنات | البحث | مشاركات اليوم | اجعل كافة المشاركات مقروءة |
|
| | LinkBack | أدوات الموضوع |
| |||||
| مشكلة 'max_user_connections' وضعف ال mysql_close() هناك ضغط شديد على الموقع عندي (ملاحظة الموقع انا قمت ببرمجته - اي مبرمج ليس خبير) ففي الاونة الاخيرة واجهت مشكلة انه كل شوي بتطلعلي مشكلة 'max_user_connections' وقمنا بزيادة عدد ال onnections في قاعدة البيانت ولاكن المشكلة مستمرة الان قالت لي الشركة يجب ان تقوم باغلاق اي connection بعد الانتهاء من استخدامه اي بوضع mysql_close() في كل ملف موجود فيه امر استطلاع من قواعد البيانات!!!!!!!!!!!!!!! قلتلهم اوك فرحت على جوجول عشان افهم ماذا تعني mysql_close() فلاحظة ان العديد من الناس تقول ان استخدام mysql_close() هو ضعف مبرمج!!!!!!! يا اخوان مش عارف مين الصح!!!! اهل في الحقيق المفروض استخدام mysql_close() ؟؟ ولاكن السكربتات الكبيرة لا تستخدمها نهائيا فما العمل وهل يجب استخدام mysql_close() ؟؟؟ وشكرا
__________________ عاشت فلسطين وعاشت المقاومة http://www.palintefada.com/arabic http://www.palissue.com/arabic موقع انتفاضة فلسطين - موقع القضية الفلسطينية الكاسر | |||||
|
| |||||
|
السلام عليكم اخي العزيز طيب لنفرض انو استخدمناها - اذا وين نستخدمها بعد اي امر من الاوامر؟؟ select, delete, or update ???? ولمذا نستخدمها ما فائدتها ؟؟؟ (ملاحظة ان البعض يقول انها ضعف برمجي - والسكربتات القوية والكبرة لا تستخدمها نهائيا) وايضا ياريت توضيح mysql_free_result لمذا نستخدمها ومتى؟؟ وشكرا
__________________ عاشت فلسطين وعاشت المقاومة http://www.palintefada.com/arabic http://www.palissue.com/arabic موقع انتفاضة فلسطين - موقع القضية الفلسطينية الكاسر | |||||
|
| |||||
|
اها شكرا جزيلا لتوضيحك - هذا سبب مقنع لسبب الضغط على الموقع عندي ![]() بس توضيح اكثر اذا سمحت mysql_free_result تستخدم عند كل امر SELECT ام كل الاوامر INSERT و UPDATE و DELETE ايضا ؟؟؟؟؟؟؟؟ بارك الله فيك
__________________ عاشت فلسطين وعاشت المقاومة http://www.palintefada.com/arabic http://www.palissue.com/arabic موقع انتفاضة فلسطين - موقع القضية الفلسطينية الكاسر | |||||
|
| |||||
|
استخدم ... الدالة mysql_pconnect فهي افضل في الاتصال بقاعدة البينات. http://www.php.net/mysql_pconnect
__________________ I Love PHP (d4d@hotmail.com) http://www.daif.net/ | |||||
|
| |||||
|
السلام عليكم اخي الكاسر شكرا لطرحك هالموضوع فعلا نحتاج نعرف اكثر كيف نسرع عمل قواعد البيانات ونسرع عملية تنفيذ الاستعلامات خصوصا في المواقع والبرامج الكيرة كما قال الاخ نعيم mysql_free_result($sql); أو unset($sql); لكن ايضا السؤال اقتباس:
اخي ضيف الله دالة جديدة اول مرة اعرفها صراحة وجربتها ولاحظت فرق بسيط في الأداء استخدمته بالشكل $matt = mysql_pconnect($host , $user , $pass); هل توجد اي بارامترات اضافية لها ؟ وايهما افضل في الطريقتين الأولى : -الاتصال بقاعدة البيانات -جلب النتاجئ وتنفيذ الاستعلام -تفريغ الذاكرة -اغلاق الاتصال -ثم تكرار العملية لتنفيذ استعلام اخر الطريقة الثانية : -الاتصال بقاعدة البيانات -جلب النتاجئ وتنفيذ الاستعلام -تفريغ الذاكرة -ثم تكرار العملية لتنفيذ استعلام اخر -اغلاق الاتصال ![]() اتمنى الافادة مع خالص الشكر والتقدير
__________________ شكرا سوالف سوفت .... اخباري هنا - إمبراطورية وحيد - قلعة تحميل الملفات - معرض صور الديكورات - مصور فوتوغرافي . | |||||
|
| |||||
|
الاخ elkaser مااتوقع انها ضعف برمجي :| ولو انها ضعف برمجي ماوضعت في ال php من الاساس بس مثل ماقال الاخ ضيف استعمال mysql_pconnect افضل بكثير ويغنيك عن استعمال mysql_close بالنسبة ل mysql_free_result افضل استخدامها في نهاية الملف يمكن استخدامها بعد الاستعلام مباشرة افضل ؟؟؟ ماادري صراحة ![]() تحياتي | |||||
|
| |||||
|
اخي الكاسر .. الطريقة الصحيحة هي الاتصال بقاعدة البيانات جلب النتاجئ وتنفيذ الاستعلام تفريغ الذاكرة ثم تكرار العملية لتنفيذ استعلام اخر اغلاق الاتصال أي كود PHP:
__________________ AlwatanVoice, www.alwatanvoice.com Almashroo, www.almashroo.com Pal Coder == Palestinian Coder | |||||
|
| |||||
|
إذا إستخدمت دالة الـmysql_pconnect فان الاتصال يبقى مفتوحاً ولن يتم اغلاقه الا عن طريق دالة الاغلاق (لذا فهي غير مجديه بهذا الشأن) . اقتباس:
أما دالة mysql_connect فانها تغلق الاتصال عندما يتم الوصول لنهاية الملف ،،،، اي سوف يتم اغلاق الاتصال تلقائيا ولن تحتاج الى استخدام دالة الاغلاقmysql_close أما إذا كنت تريد اغلاق الاتصال بمجرد الانتهاء منه قم باستخدام دالة الاغلاقmysql_close فوراً اقتباس:
الـvBulletin يستخدم دالة mysql_connect كذلك MySmartBB اتمنى اكن قد افدتك ولو بالقليل | |||||
|
| |||||
|
السلام عليكم اخواني بارك الله فيكم ردا على الاخوان اخي العزيزي Pal Coder لم افهم مغزا كودك للاسف يرجا توضيح اكثر ![]() اما الاخوان اذا نصل الى الخلاصة التالية نستخدم ال mysql_connect وايضا وضع mysql_free_result بعد كل امر يعني كود PHP: كود PHP: واخيرا كود PHP:
__________________ عاشت فلسطين وعاشت المقاومة http://www.palintefada.com/arabic http://www.palissue.com/arabic موقع انتفاضة فلسطين - موقع القضية الفلسطينية الكاسر | |||||
|
| |||||
|
على حسب مافهمت من موقع php على الرابط http://www.php.net/mysql_pconnect يوجد اختلافين رئيسيين عن mysql_connect الاول :: mysql_pconnect تحاول البحث عن اي اتصال مفتوح مع القاعدة وتستعملة اي انها لاتفتح اتصال جديد مع القاعدة وهذة ميزة الثاني :: يضل الاتصال مفتوح مع القاعدة للاستخدام لاحقا اي ان الاتصال لن يغلق حال انتهاء تنفيذ الملف =================mysql_free_result اتوقع من الموجود في موقع php.net مايأثر كثير مكان وضع mysql_free_result لانها راح تتنفذ في كل الحالات بعد انتها تنفيذ السكربت للتاكد ممكن نستخدم memory_get_usage() حتى نشوف الذاكرة المستخدمة في كل الحالات ونقرر الافضل ياليت الي يجرب يعطينا النتيجة تحياتي | |||||
|
| |||||
|
السلام عليكم و رحمة الله و بركاته اخي الكريم استخدم mysql_pconnect صحيح انها لا تغلق و لكن الأخوان لم يوضحوا انها ميزه اوضحوا انها سيئة في حال فتحت اتصال عن طريق pconnect و من ثم جيت تتفتح اتصال pconnect ثاني لن يتم فتح الاتصال سيبحث عن اتصال مفتوح و يفذ عن طريقة يعني بالمختصر لا تستخدمها لسكريبت صفحه واحده لو كان موقع متكامل مثل الفي بي الي فيه مئات من الاوامر هذه افضل او حتى لأي سكريبت اخبار عليه زيارات كثيرة و لكن عن نفسي استخدم pconnect للبرمجيات الي بيكون عليها hits كثيره فهي افضل بالتوفيق | |||||
|
| |||||
| اقتباس:
وضحت النقاط ولكم جزيل الشكر وحيد ،
__________________ شكرا سوالف سوفت .... اخباري هنا - إمبراطورية وحيد - قلعة تحميل الملفات - معرض صور الديكورات - مصور فوتوغرافي . | |||||
|
![]() |
| أدوات الموضوع | |
| |