মাইএসকিএল সংযোগ বন্ধ করা কি গুরুত্বপূর্ণ?


88

মাইএসকিএল সংযোগ দক্ষতা অনুযায়ী বন্ধ করা কি গুরুত্বপূর্ণ, বা পিএইচপি ফাইল চালুর পরে এটি স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায়?



আমার ধারণা একইভাবে ftp_close প্রযোজ্য?
doc_id

মাইএসকিএল সংযোগ বন্ধ করা কি গুরুত্বপূর্ণ? হ্যাঁ, এটি সি ++ তে ধ্বংসের মতো
জাসিন্ত প্রিমকুমার

উত্তর:


90

ডকুমেন্টেশন থেকে :

দ্রষ্টব্য: স্ক্রিপ্টটির সম্পাদনা শেষ হওয়ার সাথে সাথে সার্ভারের লিঙ্কটি বন্ধ হয়ে যাবে, যদি না এটি স্পষ্টভাবে mysql_close () এ কল করে আগে বন্ধ করা হয়।

যদি আপনার স্ক্রিপ্টে ফলাফল আনার পরে সঞ্চালনের জন্য যথেষ্ট পরিমাণে প্রক্রিয়াজাতকরণ থাকে এবং পুরো ফলাফল সেটটি পুনরুদ্ধার করে থাকে তবে অবশ্যই আপনার সংযোগটি বন্ধ করা উচিত। আপনি যদি তা না করেন তবে ওয়েব সার্ভারের ভারী ব্যবহারের সময় মাইএসকিউএল সার্ভারের সংযোগ সীমাতে পৌঁছানোর সুযোগ রয়েছে। আপনি যদি স্ক্রিপ্টের শেষ না হওয়া অবধি মাইএসকিউএল সংযোগটি বন্ধ করতে না পারেন তবে পরিষ্কারভাবে এটি করা অপ্রয়োজনীয় হলেও এটি পরিষ্কার।

আমি নিশ্চিত না যে কীভাবে ফাস্টসিজি জিনিসগুলিকে প্রভাবিত করে। একটি পৃষ্ঠায় দাবি করা হয়েছে যে পিএইচপি-র একটি বিল্ড যা ফাস্টকিজিকে সমর্থন করে তা স্থির সংযোগ তৈরি করবে, এমনকি মাইএসকিএল_কনেক্টের জন্যও। এটি ডকুমেন্টেশনের বিরোধিতা করে যে স্ক্রিপ্টের পরিবর্তে প্রক্রিয়াটি শেষ হয়ে গেলে সংযোগটি বন্ধ হয়ে যায়। এটি পরীক্ষা করার পরিবর্তে, আমি mysql_close () ব্যবহার করার পরামর্শ দিচ্ছি। আসলে, আমি পিডিও ব্যবহার করার পরামর্শ দিই , যদি এটি উপলব্ধ থাকে।


আমার ধারণা একইভাবে ftp_close প্রযোজ্য?
doc_id

4
এর অর্থ কি এই যে ব্যবহারকারী যদি প্রথম পাতাটি বন্ধ করে দেয় (উদাহরণস্বরূপ) তাড়াতাড়ি (অথবা কোনও ত্রুটি আছে) সংযোগটি খোলা থাকতে পারে?
টনি মিশেল কাবেট

4
@ টনি মিশেল কাউবেট "The link to the server will be closed as soon as the execution of the script ends."ব্যবহারকারী যখন প্রথম দিকে কোনও পৃষ্ঠা বন্ধ করে দেয় তবে পিএইচপি সার্ভারের জন্য এটি কোনও বিষয় নয়। এটি সর্বদা হিসাবে স্ক্রিপ্ট এবং শেষ স্ক্রিপ্ট চালায়। কেবল ব্যবহারকারী ফলাফল দেখতে পাবে না।
এ্যারম্যান

10

এটা কি গুরুত্বপূর্ণ? তেমন বেশি না

এটি অনুসরণ করা একটি ভাল অনুশীলন হিসাবে বিবেচনা করা হয়? হ্যাঁ.

আপনি কেন এটি বন্ধ করতে চান না তা আমি দেখছি না।


6
ঠিক আছে, বিবেচনা করে যে এমনকি ম্যানুয়াল পৃষ্ঠাটি mysql_close"মাইএসকিএল_ক্লোজ () ব্যবহার করা সাধারণত প্রয়োজন হয় না, কারণ অ-অবিচলিত উন্মুক্ত লিঙ্কগুলি স্ক্রিপ্টের সম্পাদনার শেষে স্বয়ংক্রিয়ভাবে বন্ধ হয়ে যায়।" সংযোগটি বন্ধ না করাকে আমি সত্যই এটি খারাপ অভ্যাস হিসাবে বিবেচনা করব না।
নিকো

4
"কেন আপনি এটি বন্ধ করতে চান না তা আমি দেখছি না।" আপনার যদি আবার এটির প্রয়োজন হয় এমন কোনও সুযোগ থাকে তবে আপনি এটি বন্ধ করতে চাইবেন না।
ফ্র্যাঙ্ক ফার্মার

4
যদি আপনি এজ্যাক্স ব্যবহার করেন তবে যদি সংযোগটি বন্ধ হয়ে যায় তবে আপনি যখনই এজ্যাক্স ব্যবহার করার চেষ্টা করবেন তখনই সংযোগটি আবার চালু হবে এবং বন্ধ হয়ে যাবে এবং এটি সার্ভারের সাথে সংযোগটি উন্মুক্ত রাখার চেয়ে মূল্যবান হবে এবং ক্লায়েন্টটি সংযোগের বিষয়ে উদ্বিগ্ন থাকে না বা না সে সে সম্পর্কে চিন্তা করে না ওয়েবসাইটটি
রবার্ট

এটা সত্যিই গুরুত্বপূর্ণ হতে পারে !!! যদি সার্ভারের লোড বেশি হয় এবং আপনার কাছে আরও দূরের কোনও সংযোগ রয়েছে যা আরও দূরে বলেছে যে এটি কোনও প্রতিক্রিয়াহীন সার্ভারের দিকে নিয়ে যেতে পারে, তাই আমি এটিকে বেশ গুরুত্বপূর্ণ হিসাবে কল করব!
oliiix

বন্ধ করা ভাল। সহজ এবং সমস্যাবিহীন।
হোসে কার্লোস পিএইচপি

5

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

মূলত, অবিরাম ডেটার জন্য নিজের পরে পরিষ্কার করুন। তুচ্ছ, অ-অবিচলিত ডেটার জন্য, অনুরোধটি যেভাবেই শেষ হয়ে গেলে এগুলি সমস্ত হয়ে যাবে। যে কোনও উপায়ে, সর্বোত্তম অনুশীলন হ'ল সর্বদা আপনার সংযোগগুলি বন্ধ করা।


4
তিনি পিএইচপি সম্পর্কে কথা বলছেন, যা অবিচল নয়, যাতে এটি প্রযোজ্য না।
সাশা চেদিগোভ

2

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

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


1

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

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

এখন, কোনও সংযোগ বন্ধ করার সুবিধা সম্পর্কে অনেক কিছু বলা হয়েছে, তবে এটি বন্ধ না করার সুবিধা সম্পর্কে প্রায় কিছুই বলা হয়নি। মূলত, আপনি যদি কোনও স্ক্রিপ্টের শেষে সংযোগটি বন্ধ না করেন, তবে আপনি সত্যিই কিছু সংস্থান সংরক্ষণ করছেন। কোনও ওয়েব অ্যাপ্লিকেশন (বা কোনও অ্যাপ্লিকেশন) 100 পৃষ্ঠাভিউ / সেকেন্ডের কল্পনা করুন। সুতরাং, প্রতি সেকেন্ডে, আপনাকে mysqli_close100 বার প্রার্থনা করতে হবে - যার অর্থ প্রতিটি সেকেন্ডে, খোলা সংযোগগুলি বন্ধ করার জন্য আপনার কাছে ডাটাবেস সার্ভারে 100 টি অপ্রয়োজনীয় রাউন্ডট্রিপ রয়েছে। পারফরম্যান্সের দৃষ্টিকোণ থেকে, এটি খাঁটি ওভারহেড, যেহেতু পিএইচপি হ'ল স্ক্রিপ্টটি যেভাবেই শেষ হবে তখন খোলা সংযোগগুলির জন্য যাচাই করবে এবং সেই সংযোগগুলি বন্ধ করে দেবে, এবং এটি এমনও হতে পারে যেহেতু সবকিছু এত তাড়াতাড়ি ঘটে, পিএইচপি দেখতে পাবে না যে আপনার আছে এই সংযোগগুলি বন্ধ করে দিয়েছে এবং সেগুলি আবার বন্ধ করার চেষ্টা করবে।

দ্রষ্টব্য: উপরের উত্তরটি ধরে নিয়েছে যে আপনি অবিচ্ছিন্ন সংযোগগুলি ব্যবহার করছেন না (ধ্রুব সংযোগগুলি কোনও বড় সিএমএসে ব্যবহৃত হয় না)।

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