একটি ডিবি সংযোগ খোলার এবং বন্ধ করা কত ব্যয়বহুল?


15

সিপিইউ নিবিড় কীভাবে মাইএসকিউএলে একটি ডিবি সংযোগ (একটি ওয়েব অ্যাপের জন্য) খুলছে এবং বন্ধ করছে

  • ... যখন ডিবি সফটওয়্যার লোকালহোস্টে থাকে?
  • ... ডিবি সফটওয়্যারটি অন্য মেশিনে থাকলে?

উত্তর:


12

প্রতি ডিবি সংযোগের জন্য কত পরিমাণ মেমরি বরাদ্দ করা হয়েছে তা ভেবে দেখুন। কোন জিনিস বরাদ্দ করা আবশ্যক? মতে মাইএসকিউএল 5.0 সার্টিফিকেশন স্টাডি গাইড, পৃষ্ঠা 357 :

সার্ভারটি প্রতিটি ক্লায়েন্ট সংযোগের জন্য বেশ কয়েকটি বাফার পরিচালনা করে। এক ক্লায়েন্টের সাথে তথ্য আদান প্রদানের জন্য একটি যোগাযোগের বাফার হিসাবে ব্যবহৃত হয়। টেবিলগুলি পড়ার জন্য এবং যোগদান এবং সাজানোর ক্রিয়াকলাপগুলি সম্পাদনের জন্য ক্লায়েন্ট প্রতি অন্যান্য বাফারগুলি বজায় রাখা হয়।

প্রতি সংযোগের বাফারগুলিকে কি সেটিংস পরিচালনা করে?

কোনও সংযোগ তৈরি হওয়ার পরে এই বাফারগুলিকে বরাদ্দ এবং নির্মূল করতে সময় লাগে takes সর্বোচ্চ_সংযোগগুলি দ্বারা এই মানগুলির যোগফলকে একাধিক করতে ভুলবেন না । পার্শ্ব নোট হিসাবে, দয়া করে পিএইচপি এবং মাইএসকিউএল এর ধ্রুবক সংযোগগুলি ভাল না হওয়ায় mysql_pconnect ব্যবহার করা থেকে বিরত থাকুন । এই বিষয়ে দুটি তথ্যমূলক লিঙ্ক এখানে:

ভারী পঠনযোগ্য, ভারী লেখার পরিবেশ যেমন যেমন ওলটিপি, ওএসে অদলবদলের কারণে এটি র‍্যামের ব্যবহার এবং সম্ভাব্য প্রতিরোধের ক্ষেত্রে ব্যয়বহুল হবে। স্বল্প রাইটে, কম_প্রেমী ওয়েবসাইটে, আমি তেমন চিন্তা করব না।


10

আমি নিশ্চিত নই যে এটি "কত বেশি ব্যয়বহুল" matters একই সংযোগটি পুনরায় ব্যবহার করার চেয়ে অবশ্যই এটি ব্যয়বহুল। আপনি যা পর্যবেক্ষণ করবেন তা নির্ভর করে আপনি সংযোগ পুলিং সঠিকভাবে ব্যবহার করছেন কিনা, আপনার পুলটি কতটা স্যাচুরেটেড হয়েছে, বাক্সে উপলব্ধ সংস্থানগুলি ইত্যাদির উপর নির্ভর করবে will

সাধারণভাবে, যদি আপনি ডাটাবেস সাথে কিছু মিথষ্ক্রিয়া করতে একটি লুপ সম্পাদন করা হয়, আপনি হতে যাচ্ছে পর্যন্ত ভালো পুনরায় ব্যবহার খোলার চেয়ে একই সক্রিয় সংযোগ এবং (বিরোধী প্যাটার্ন যে আমি বেশ প্রায়ই দেখুন) লুপ মধ্যে বন্ধের ।


4

কোনও বস্তুকে পুনরায় ব্যবহার এবং তা ছিন্ন করে পুনরায় তৈরি করার মধ্যে দ্বিধা (প্রায়শই উভয়ই সুবিধা ও অসুবিধাগুলি) সমাধান করতে পারেন: আপত্তিটিকে ক্যাশে করুন, তবে একটি সীমিত সময়ের জন্য (অর্থাত্ সমাপ্তির সাথে)। যদি অবজেক্টটি ঘন ঘন অ্যাক্সেস করা হয় তবে এটি পুনরায় ব্যবহৃত হতে থাকে। তবে যদি এটি কিছু সময়ের জন্য ব্যবহার না করা হয়, তবে একটি মেয়াদোত্তীর্ণ প্রক্রিয়া এটিকে নিষ্পত্তি করে, আবার যখন প্রয়োজন হয় তখন এটি পুনরায় তৈরি করতে বাধ্য করে।

কোনও সিস্টেমে এই ধরণের ক্যাশেগুলির জন্য বিশ্বব্যাপী হুক থাকতে পারে যা স্মৃতিশক্তি কম থাকাকালীন ডাকা হয়, যা তাদের সকলকে সম্প্রতি অব্যবহৃত অবজেক্টগুলি ফেলে দেওয়ার জন্য উদ্বুদ্ধ করে।


2

থ্রেড ক্যাশে (থ্রেড_ক্যাচি_সাইজ) ব্যবহার করে মাইএসকিএল সংযোগগুলি (বা থ্রেড) ক্যাশে করে। এটির সর্বাধিক মান 100 client যখন ক্লায়েন্ট সংযোগ বন্ধ করে, এটি ক্যাশে ফিরে আসে। একটি নতুন সংযোগ খুললে এটি থ্রেড ক্যাশে চেক করে। খুব ব্যস্ত সিস্টেমে, খোলার ক্লোজিং সংযোগ ব্যয়বহুল হতে পারে, বিশেষত যদি আপনার দীর্ঘ চলমান প্রশ্ন থাকে।

https://dev.mysql.com/doc/refman/5.6/en/connication-threads.html আপনি যদি মাইএসকিএল এন্টারপ্রাইজ বহন করতে পারেন তবে আপনি মাইএসকিএল 5.6 তে প্রয়োগ করা থ্রেড পুল প্লাগ-ইন ব্যবহার করতে পারেন।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.