আমার কি অ্যাপাচি 2 এ কিপএলাইভ সক্রিয় করা উচিত?


25

কোনও ডিফল্ট ইনস্টলেশনতে, অ্যাপাচি 2 কিপলাইভ বন্ধ নিয়ে আসে, তবে অন্য সার্ভারের দিকে তাকালে, কিপলাইভ মডিউলটি চালু হয়েছিল।

সুতরাং, কীভাবে আমি কীভাবে জানি যে কিপএলাইভ আমার পক্ষে সঠিক? এটিকে কনফিগার করার বিষয়ে আমি কিছু ভাল উদাহরণ কোথায় পাব?

উত্তর:


31

ইতিমধ্যে 2 টি ভাল উত্তর রয়েছে, তবে সম্ভবত সবচেয়ে গুরুত্বপূর্ণ বাস্তব জীবনের বিষয়টি এখনও উল্লেখ করা হয়নি।

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

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

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

একটি সাধারণ কাজ হ'ল 2 কনফিগারেশনের সাথে 2 অ্যাপাচি সার্ভার (একই শারীরিক সার্ভারে বা 2 টি সার্ভারে প্রয়োজন হিসাবে) ব্যবহার করা হয়:

  • গতিশীল সামগ্রীর জন্য মোড_এফপি (বা যা কিছু প্রোগ্রামিং ভাষা ব্যবহৃত হয়) সহ একটি "ভারী", কীটলিভিস বন্ধ রয়েছে
  • এক মডিউল একটি সংক্ষিপ্ত সেট সঙ্গে "লাইটওয়েট", সঙ্গে, স্ট্যাটিক বিষয়বস্তু (ইমেজ, সিএসএস, JS ইত্যাদি) ভজনা জন্য উপর keepalives

তারপরে আপনি যখন প্রয়োজন তখন গতিশীল এবং স্থিতিশীল সামগ্রীর এই পৃথকীকরণের উপর প্রসারিত করতে পারেন , উদাহরণস্বরূপ:

  • স্ট্যাটিক সামগ্রী যেমন এনগিনেক্সের জন্য ইভেন্ট-চালিত সার্ভার ব্যবহার করা ।
  • স্ট্যাটিক সামগ্রীর জন্য সিডিএন ব্যবহার করে (আপনার জন্য পরিবেশন করা সমস্ত স্থির সামগ্রী করতে পারে)
  • স্থির এবং / অথবা গতিশীল সামগ্রীর ক্যাচিং বাস্তবায়ন implementing

অ্যাপাচি ব্লক করা এড়ানোর জন্য আরেকটি পদ্ধতি হ'ল পার্লবালের মতো স্মার্ট স্মার্ট সংযোগ হ্যান্ডলিং সহ লোড ব্যালান্সার ব্যবহার করা ।

.. এবং আরো অনেক কিছু. :-)


2
এই উত্তরগুলি কি 8 বছর পরে এখনও প্রাসঙ্গিক?
TheStoryCoder

হ্যাঁ, আপনি যদি প্রিফার্ক এমপিএম ব্যবহার করেন তবে এখনও প্রাসঙ্গিক। নোট করুন যে অ্যাপাচি httpd 2.4 (যেমন। RHEL7 এ) ডিফল্টরূপে KeepAlive চালু ব্যবহার করে (তবে এটির কনফিগারেশনে এটি স্পষ্টভাবে তালিকাভুক্ত করে না - কমপক্ষে RHEL7 এ)।
ক্যামেরন কের

5

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

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

আপনি দেখতে পাচ্ছেন, কিপএলাইভটাইমআউট আপনার সার্ভারের পারফরম্যান্সের অপ্টিমাইজেশনেও একটি বড় ভূমিকা পালন করবে।

আপনার ব্যবহারের ধরণটি দেখুন এবং নিজের জন্য সিদ্ধান্ত নিন।


0

আপনার অবশ্যই কিপএলাইভ চালু করা উচিত।

দেখুন:

http://httpd.apache.org/docs/2.0/mod/core.html#keepalive

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

একটি ব্রাউজার সাধারণত কোনও ডোমেনে প্রায় 3 সমান্তরাল সংযোগ খোলে। সুতরাং আসুন যাক আপনার সাইটে আপনার 18 টি জিনিস রয়েছে। ব্রাউজারটি 3 টি সংযোগ খুলবে এবং এটি প্রতিটি সংযোগে 6 টি বস্তু ডাউনলোড করবে - কিপএলাইভ মোডটি ব্যবহার করে। কিপএলাইভ ব্যতীত, এটিতে 18 টিসিপি সংযোগগুলি খুলতে হবে যা খুব ধীর।

বেশিরভাগ, বা সমস্ত আধুনিক ব্রাউজারগুলি HTTP / 1.1 অনুসারে হয় তাই এটি কেবল কাজ করা উচিত।

স্কুইডের মতো কিছু নির্দিষ্ট HTTP প্রক্সিগুলি HTTP / 1.1 অনুসারে নয় তবে তারা যাইহোক একটি KeepAlive সংযোগ ব্যবহারের জন্য অনুরোধ করে।


এটি কেবল ক্লায়েন্টের পক্ষ থেকে বিবেচনা করেই করা হয়েছে, আমি মনে করি যে সার্ভারের সাইড রিসোর্সের ব্যবহারও গুরুত্বপূর্ণ।
মরগান চেং

ব্যবহারকারীর দ্বারা অনুধাবৃত ল্যাটেন্সির চেয়ে সার্ভার সাইড রিসোর্সের ব্যবহার বেশি গুরুত্বপূর্ণ?
ইয়ভেস জুনকিউরা

1
আমি কিপএলাইভ চালু করার ক্ষেত্রেও বিশ্বাস করি, তবে 15 সেকেন্ডের অ্যাপাচি-র ডিফল্ট সময়সীমা অনেক বেশি উদার কারণ এটি প্রক্রিয়াগুলিকে খুব বেশি সময়ের জন্য অবরুদ্ধ করে রাখে। আমি সাধারণত সময়সীমা প্রায় 2 সেকেন্ডে সেট করেছিলাম, যার ফলস্বরূপ প্রায় এক পৃষ্ঠা লোড চলাকালীন রাখেআলাইভ ব্যবহৃত হয় used
মার্টিজন হিমেলস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.