আইআইএস 7.x অ্যাপ্লিকেশন পুল সেরা অভ্যাসসমূহ


24

আমরা কয়েকটি নতুন সার্ভারে গুচ্ছ সাইটগুলি স্থাপন করতে চলেছি। অ্যাপ্লিকেশন পুল সম্পর্কে আমার নীচের প্রশ্নগুলি রয়েছে:

  1. ওয়েবসাইটে প্রতি একটি অ্যাপ্লিকেশন পুল রাখাই যুক্তিযুক্ত বলে মনে হচ্ছে। এই পদ্ধতির কোনও সতর্কতা আছে? একটি অ্যাপ্লিকেশন পুল হ'ল সমস্ত সিপিইউ, মেমোরি, ইত্যাদি ...?

  2. আপনি কখন একটি অ্যাপ্লিকেশন পুলে একাধিক কর্মী প্রক্রিয়া মঞ্জুর করবেন? আপনি কখন করবেন না?

  3. একটি অ্যাপ্লিকেশন পুলের সাথে অন্যের মধ্যে হস্তক্ষেপ থেকে বাঁচতে ব্যক্তিগত মেমরি সীমাটি কী ব্যবহার করা যেতে পারে? কোনও বৈধ প্রতিক্রিয়া না পেয়ে অ্যাপ্লিকেশন পুলটিকে পুনর্ব্যক্ত করতে বৈধ অনুরোধগুলি সেট করার কারণে এটি কী কম হবে?

  4. ব্যক্তিগত এবং ভার্চুয়াল মেমরি সীমা মধ্যে পার্থক্য কি?

  5. প্রতি সাইটটিতে একটি করে অ্যাপ্লিকেশন পুল চালনা না করার কি বাধ্যতামূলক কারণ রয়েছে?


প্রথম প্রশ্ন আপনার কাছে ফিরে: এই ওয়েব সাইটগুলি (যেমন: .htm / .js), বা ওয়েব অ্যাপ্লিকেশনগুলি (যেমন .aspx / .php)?
কোডিং গরিলা

বেশিরভাগ। নেট 3.5 অ্যাপ্লিকেশন। একটি তৃতীয় পক্ষের পিএইচপি অ্যাপ্লিকেশন।
এরিক বুর্চাম

1
এটি এক প্রকারের বিস্তৃত বিষয় - বিষয়টি (এবং @ কোডিংগরিলার উত্তরগুলি) আকর্ষণীয় তবে এসএফ-এর Q-and-A শৈলীর পক্ষে এটি সেরা উপযুক্ত নাও হতে পারে
ভোরেটাক 7

উত্তর:


20

1) ওয়েবসাইটে প্রতি অ্যাপ্লিকেশন পুল রাখার পরামর্শ দেওয়া হচ্ছে। এই পদ্ধতির কোনও সতর্কতা আছে? একটি অ্যাপ্লিকেশন পুল, উদাহরণস্বরূপ, সমস্ত সিপিইউ, মেমরি, ইত্যাদি ... হগ করতে পারে?

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

২) কখন আপনি কোনও অ্যাপ্লিকেশন পুলে একাধিক কর্মী প্রক্রিয়া চালানোর অনুমতি দেবেন। আপনি কখন করবেন না?

এটি ডিফল্ট সেটিংস ব্যবহার করে একা সবচেয়ে ভাল। আপনি কী করছেন আপনি যদি না জানেন তবে এটি আপনার ওয়েবসাইট / অ্যাপ্লিকেশনটিকে নেতিবাচকভাবে প্রভাবিত করতে পারে।

৩) একটি অ্যাপ্লিকেশন পুলকে অন্যের সাথে হস্তক্ষেপ থেকে রোধ করতে ব্যক্তিগত মেমরি সীমাটি কী ব্যবহার করা যেতে পারে? কোনও বৈধ প্রতিক্রিয়া না পেয়ে অ্যাপ্লিকেশন পুলটিকে পুনর্ব্যক্ত করতে বৈধ অনুরোধগুলি সেট করার কারণে এটি কী কম হবে?

ক) তাত্ত্বিকভাবে

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

4) ব্যক্তিগত এবং ভার্চুয়াল মেমরি সীমা মধ্যে পার্থক্য কি?

এটা খুব জটিল, এখানে একটি দ্রুত পোস্ট আমি যে শক্তি সাহায্যের পাওয়া আছে: http://cybernetnews.com/cybernotes-windows-memory-usage-explained/

5) প্রতি সাইটটিতে একটি করে অ্যাপ্লিকেশন পুল চালনা না করার বাধ্যবাধকতা রয়েছে?

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

সাধারণ উদ্দেশ্যে অ্যাপ্লিকেশন এবং ওয়েবসাইটগুলির জন্য, আইআইএস এর ডিফল্ট মানগুলির সাথে বেশ ভাল সেট আপ রয়েছে।

****হালনাগাদ****

# 2 তে অতিরিক্ত তথ্যের জন্য আপনার অনুরোধের সাথে সম্পর্কিত, যদি না আপনার নির্দিষ্ট করার দরকার থাকে তবে আপনার এটি করা উচিত নয়। এমনকি সার্ভার ক্রিয়াকলাপগুলির সাথেও যে দীর্ঘ সময় নেয়, একাধিক থ্রেড ব্যবহার করে অনুরোধগুলি সরবরাহ করা হয় এবং আপনি দীর্ঘ চলমান কার্য পরিচালনা করতে "Async অনুরোধগুলি" ব্যবহার করতে চান (যা অন্যান্য অনুরোধগুলি পরিচালনা করতে কোনও থ্রেড পুলের থ্রেডকে মুক্তি দেয়)। বাস্তবতাত্ত্বিকভাবে, আমি একক পুলের জন্য একাধিক প্রক্রিয়া চালানোর কোনও ভাল কারণের কথা ভাবতে পারি না।

একবার আপনি একাধিক প্রক্রিয়া কথা বলা শুরু করার পরে, আপনি সম্ভাব্যতার মতো জিনিসগুলিতে চালিত হন: সেশন স্টেট হারাতে হবে কারণ একটি অধিবেশন প্রক্রিয়া 1 এ জীবিত, তবে অনুরোধটি প্রক্রিয়া 2 দ্বারা পরিচালিত হচ্ছে বা আরও খারাপ, আপনাকে কীভাবে কীভাবে তা বের করতে হবে কিছু আন্ত-প্রক্রিয়া যোগাযোগ করুন, যা আসল ব্যথা।

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


আমি বিবেচ্য উত্তরটি প্রশংসা করি এবং তা গ্রহণ করেছি। আপনার যদি # 2 তে আরও নির্দিষ্ট কোনও তথ্য থাকে তবে আমি এটির প্রশংসা করব। "বেস্ট বাম একা" অবশ্যই sষি পরামর্শ, তবে একাধিক কর্মী প্রক্রিয়া কখন ব্যবহার করবেন তাও আপনার জানা উচিত। আমি ধরে নিলাম এটি আরও প্রাসঙ্গিক যখন আপনি কিছু সার্ভার ক্রিয়াকলাপ পেয়ে থাকেন যা কোনও প্রতিক্রিয়া ফিরিয়ে দিতে দীর্ঘ সময় নেয়, যেমন একটি বড় প্রতিবেদন, ওয়েব সার্ভিস যা বড় পোস্টগুলি গ্রহণ করে এবং এর মতো। আমি ধরে নিই যে সমস্ত সাধারণ থ্রেড সম্মতিযুক্ত স্টাফ প্রযোজ্য?
এরিক বুর্চাম

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

@ ত্রিস্তানকে, টিপটির জন্য আপনাকে ধন্যবাদ এটি প্রচুর সহায়ক ছিল।
এরিক বুর্চাম

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

@ কোডিং গরিলা - অব্যাহত ... একাধিক কর্মী প্রক্রিয়া বৈশিষ্ট্যটি ব্যবহার করার জন্য আমি খুঁজে পেয়েছি সেরা "কারণ" হল কর্মক্ষমতা বৃদ্ধি করা। এই লিঙ্কটি দেখুন: iis-aid.com/articles/performance_testing/… । অবশ্যই, আপনি প্রোগ্রামিংয়ের সমস্ত অ্যাসিনক্রোনাস দিকগুলির সাথে আপনি কী করছেন তা ভালভাবেই জানতেন যেগুলি আমরা ওয়েবসাইটগুলির সাথে অ্যাকাউন্টে নিতে প্রায়শই অবহেলা করি, যেহেতু তাদের বেশিরভাগই (কমপক্ষে শুরু করার জন্য) একক কর্মী থ্রেড চালায়। সুতরাং আমার প্রশ্নের সংক্ষিপ্ত উত্তর হ'ল: যদি আপনার পারফরম্যান্সে সমস্যা হয় তবে এটি চেষ্টা করে দেখুন।
এরিক বুর্চাম

4

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

কোনও সাইটকে সমস্ত সিস্টেমের সংস্থান গ্রহণ করা থেকে বিরত রাখতে মেমোরি সীমাটি সত্যই কেবলমাত্র প্রাথমিক সুরক্ষা প্রান্তিক। নোট করুন যে এটি আইআইএস 6.0 x86 এর চেয়ে উইন্ডোজ 2008 আর 2 এক্স 64 এ বেশি সম্ভাব্য সমস্যা, কারণ x86 অ্যাপ্লিকেশনগুলিতে প্রাকৃতিক 2 জিবি মেমরি সিলিং ছিল। আইআইএস ak.৫-তে মেমরি ফুটো সহ একটি অ্যাপ্লিকেশনের জন্য প্রচুর পরিমাণে স্মৃতি গ্রহণ করা সহজ।

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


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

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