আইআইএস আমার অ্যাপ্লিকেশনটি পুনরায় ব্যবহার না করে তা নিশ্চিত করার জন্য আমার কী করা উচিত?


82

আইআইএস-এ আমার একটি ডাব্লুসিএফ পরিষেবা অ্যাপ হোস্ট করা আছে। প্রারম্ভকালে, এটি যায় এবং স্থানীয় ক্যাশে হিসাবে ব্যবহার করার জন্য একটি সত্যই ব্যয়বহুল (সময় এবং সিপিইউয়ের শর্তে) সংস্থান লাভ করে।

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

  • সিপিইউ এর আওতাধীন 5 থেকে 0 পর্যন্ত সীমাবদ্ধতা।
  • 20 থেকে 0 পর্যন্ত প্রক্রিয়া মডেলের অধীনে অলস সময়সীমা।
  • 1740 থেকে 0 পর্যন্ত পুনর্ব্যবহারের অধীনে নিয়মিত সময় ব্যবধান।

এটি কি যথেষ্ট হবে? আমি যে আইটেমগুলি পরিবর্তন করেছি সে সম্পর্কে আমার নির্দিষ্ট প্রশ্ন রয়েছে:

  1. সিপিইউয়ের আওতায় সীমাবদ্ধতা অন্তর্ভুক্তির সুনির্দিষ্ট অর্থ কী? এর অর্থ এই যে কোনও নির্দিষ্ট সিপিইউ ব্যবহার ছাড়িয়ে গেলে, অ্যাপ্লিকেশন পুলটি পুনর্ব্যবহার করা হবে?
  2. "পুনর্ব্যবহারযোগ্য" এর অর্থ কী? অ্যাপ্লিকেশনটি পুরোপুরি ছিন্ন হয়ে আবার শুরু হয়েছে?
  3. "ওয়ার্কার প্রক্রিয়া শাটডাউন" এবং "অ্যাপ্লিকেশন পুল পুনর্ব্যবহারযোগ্য" এর মধ্যে পার্থক্য কী? প্রক্রিয়া মডেলের অধীনে অলস সময়সীমার জন্য ডকুমেন্টেশন কর্মী প্রক্রিয়া বন্ধ করার বিষয়ে কথা বলে। যখন রিসাইক্লিংয়ের অধীনে নিয়মিত সময় ব্যবধানের ডক্স অ্যাপ্লিকেশন পুল পুনর্ব্যবহার সম্পর্কে আলোচনা করে। আমি দুজনের মধ্যে পার্থক্যটি বেশ আঁকড়ে ধরছি না। আমি ভেবেছিলাম w3wp.exe হল কর্মী প্রক্রিয়া যা অ্যাপ্লিকেশন পুল চালায়। কেউ দুজনের মধ্যে আবেদনের পার্থক্য ব্যাখ্যা করতে পারেন?

আইআইএস and এবং আইআইএস .5..5 ট্যাগ থাকার কারণ হ'ল অ্যাপ্লিকেশনটি উভয়ই চলবে এবং আশা করা যায় যে সংস্করণগুলির মধ্যে উত্তরগুলি একই হবে।

রেফারেন্সের জন্য চিত্র: এখানে চিত্র বর্ণনা লিখুন


আইআইএস-এর সেটিংস সহ আপনি সেই স্ক্রিনশটটি কোথায় পেয়েছেন?
অ্যান্ড্রু উইলিয়াম রস

এটি অ্যাডভান্সড অ্যাপ পুলের বৈশিষ্ট্য শীট।
ত্রিস্তানক

উত্তর:


105

পুনর্ব্যবহারযোগ্য

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

* - সাধারণত: অস্বীকার করুন ওভারল্যাপিং রোটেশন / "ওভারল্যাপযুক্ত পুনর্ব্যবহারযোগ্য অক্ষম করুন" সেটিংস দেখুন

এটি ধ্বংসাত্মক , মূল প্রক্রিয়া এবং এর সমস্ত রাষ্ট্রীয় তথ্য বাতিল করা হয়। প্রক্রিয়া বহির্ভূত অধিবেশন রাজ্য (যেমন, স্টেট সার্ভার বা একটি ডাটাবেস, বা আপনার রাজ্য ক্ষুদ্রতর যদি একটি কুকি) ব্যবহার করেও আপনি এটিকে ঘিরে কাজ করতে পারবেন।

তবে এটি ডিফল্টরূপে ওভারল্যাপ করা হয়েছে - অর্থাত্ আউটেজের সময়কাল হ্রাস করা হয়েছে কারণ নতুন প্রক্রিয়াটি শুরু হয় এবং অনুরোধের কাতারে আবদ্ধ হয়, পুরানোটিকে বলা হওয়ার আগে "আপনার [শাটডাউনটাইমলিমিট] সেকেন্ড চলে যেতে হবে Please অনুগ্রহ করে মেনে চলুন" "

সেটিংস

আপনার প্রশ্নের কাছে: সেই পৃষ্ঠার সমস্ত সেটিংস কোনও উপায়ে পুনর্ব্যবহার নিয়ন্ত্রণ করে। "শাটডাউন "টিকে" প্র্যাকটিভ রিসাইক্লিং "হিসাবে বর্ণনা করা যেতে পারে - যেখানে প্রক্রিয়া নিজেই সিদ্ধান্ত নেবে যে সময়টি চলেছে এবং একটি সুশৃঙ্খলভাবে প্রস্থান করে।

প্রতিক্রিয়াশীল পুনর্ব্যবহারযোগ্য যেখানে ডাব্লুএসএই একটি সমস্যা সনাক্ত করে এবং প্রক্রিয়াটি শ্যুট করে (উপযুক্ত প্রতিস্থাপন ডাব্লুডাব্লুপি স্থাপনের পরে)।

এখন, এখানে এমন কিছু জিনিস যা একটি ফর্ম বা অন্যটির পুনর্ব্যবহার করতে পারে:

  • এটি অস্বাস্থ্যকর সিদ্ধান্ত নিয়েছে একটি আইএসএপিআই
  • যে কোনও মডিউল ক্রাশ হচ্ছে
  • অলস সময়সীমা
  • সিপিইউ সীমাবদ্ধ করা হচ্ছে
  • অ্যাপ পুলের বৈশিষ্ট্যগুলি সমন্বয় করে
    • যেহেতু আপনার মা সম্ভবত এক পর্যায়ে চিৎকার করেছেন: " এটি বাছাই বন্ধ করুন , বা এটি আর ভাল হবে না!"
  • "পিং" ব্যর্থতা * আসলে প্রতি সেং পিঙ্গিং নয়, কারণ এটি একটি নামযুক্ত পাইপ ব্যবহার করে - আরও "জীবন সনাক্তকরণ"
  • উপরের স্ক্রিনশটের সমস্ত সেটিংস

কি করো:

সাধারণত:

  • অলস সময়সীমা অক্ষম করুন । নিষ্ক্রিয়তার 20 মিনিটের = বুম! পরবর্তী আগত অনুরোধে নতুন প্রক্রিয়া। শূন্য সেট করুন।

  • নিয়মিত সময়ের ব্যবধান অক্ষম করুন - ২৯ ঘন্টার ডিফল্টকে বিভিন্ন পক্ষের দ্বারা "উন্মাদ", "বিরক্তিকর" এবং "চালাক" হিসাবে বর্ণনা করা হয়েছে। আসলে, এর মধ্যে দুটি মাত্র সত্য।

  • বৈকল্পিকভাবে চালু করুন DisallowRotationOnConfigChange (উপরে, কনফিগারেশন পরিবর্তনের জন্য অক্ষম Reycling ) যদি আপনি শুধু এটা নিয়ে খেলা বন্ধ করতে পারবেন না - এই আপনি এটা অবিলম্বে শ্রমিক করার সংকেত ছাড়া কোনো অ্যাপ্লিকেশন পুল সেটিং পরিবর্তন করতে পারবেন প্রক্রিয়াকরণ এটি নিহত করা প্রয়োজন। সেটিংসটি কার্যকর হওয়ার জন্য আপনাকে অ্যাপ পুলটিকে ম্যানুয়ালি পুনর্ব্যবহার করতে হবে, যা আপনাকে পূর্বনির্ধারিত সেটিংস দেয় এবং তারপরে আপনার রিসাইক্ল প্রক্রিয়াটির মাধ্যমে সেগুলি প্রয়োগ করতে একটি পরিবর্তন উইন্ডো ব্যবহার করতে পারে use

  • একটি সাধারণ নীতি হিসাবে, পিনিং সক্ষম করুন ছেড়ে দিন । এটাই আপনার সুরক্ষার জাল। আমি লোকেদের এটি বন্ধ করে দিয়ে দেখেছি, এবং তারপরে সাইটটি মাঝে মাঝে অনির্দিষ্ট সময়ের জন্য স্তব্ধ হয়ে যায় যা আতঙ্কিত করে তোলে ... সুতরাং যদি সেটিংস আপনার আপাতদৃষ্টিতে খুব ধীর-প্রতিক্রিয়াশীল অ্যাপ্লিকেশনটির জন্য খুব আক্রমণাত্মক হয় তবে তাদের কিছুটা পিছিয়ে দিন back এবং এটি বন্ধ করার চেয়ে আপনি কী পান তা দেখুন। (যদি না আপনি নিজের পর্যবেক্ষণ প্রক্রিয়ার মাধ্যমে হ্যাং ডাব্লু 3 ডাব্লুপিপি জন্য অটো-ক্রাশ-মোড ডাম্পিং সেটআপ না করেন)

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

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

একটি (আইআইএস) অ্যাপপুল একটি (। নেট) অ্যাপডোমেন নয় (তবে এতে একটি / কিছু থাকতে পারে)

তবে ... তারপরে আমরা। নেট ল্যান্ড এবং অ্যাপডোমাইন পুনর্ব্যবহারে প্রবেশ করি, যা রাষ্ট্রের ক্ষতির কারণও হতে পারে। (দেখুন: https://blogs.msdn.microsoft.com/tess/2006/08/02/asp-net-case-study-lost-session-variables- এবং-appdomain-recycles/ )

সংক্ষিপ্ত সংস্করণ, আপনি এটি আপনার সামগ্রী ফোল্ডারে একটি ওয়েবকনফিগ ফাইলটি স্পর্শ করে (আবার বাছাইয়ের সাথে!) বা সেই ফোল্ডারে কোনও ফোল্ডার তৈরি করে, বা একটি এসপিএক্স ফাইল, বা ... অন্যান্য জিনিস ... এবং এটি সম্পর্কে অ্যাপ পুলের পুনর্ব্যবহারের মতো ধ্বংসাত্মক, নেটিভ-কোড স্টার্টআপ ব্যয় বিয়োগ (এটি নিখুঁতভাবে পরিচালিত কোড (। নেট) ধারণা, সুতরাং কেবল পরিচালিত কোড স্টাফগুলি এখানে ঘটে)।

এটি অ্যান্টিভাইরাস এটিকে ট্রিগারও করতে পারে কারণ এটি ওয়েব কোডফাইগ ফাইলগুলি স্ক্যান করে, পরিবর্তনের বিজ্ঞপ্তি সৃষ্টি করে, যার কারণ ....


2
অপেক্ষার জন্য অপেক্ষা করুন ... অ্যান্টিভাইরাস থেকে একটি ওয়েবকনফিগ পড়া কেন একটি পরিবর্তন বিজ্ঞপ্তি ট্রিগার করবে? কোনও অ্যান্টিভাইরাস যা কোনও কারণ ছাড়াই একটি ওয়েবকনফিগকে "স্পর্শ" করে তা হ'ল ট্র্যাশ ইমো।
শিব

এভি কেবল পড়তে পারে না, তবে লিখতে পারে - উদাহরণস্বরূপ কোনও বিকল্প ডেটা স্ট্রিমে, কোনও ফাইল স্ক্যান করার জন্য সর্বশেষে ব্যবহৃত ইঞ্জিন সংস্করণ রেকর্ড করা। একটি চিন্তা হিসাবে।
ত্রিস্তানক

7

দয়া করে চেক করুন,

কেন আমরা আমাদের অ্যাপ্লিকেশন পুলগুলি পুনর্ব্যক্ত করি?

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

আমি সবসময়ই মতামত রেখেছি যে যদি আপনার কোডটি সঠিকভাবে কাজ চালিয়ে যাওয়ার জন্য পর্যায়ক্রমিক পুনরায় আরম্ভের প্রয়োজন হয় তবে কিছু স্পষ্টতই ভুল is আপনার কোডে কোথাও একটি ত্রুটি রয়েছে এবং সমস্যাটি 'দূরে যাওয়া' করার জন্য আপনাকে মাঝে মাঝে প্রক্রিয়াটি পুনরায় শুরু করার পরিবর্তে এটি ঠিক করতে হবে।

NET- এ মেমরি পরিচালনা এবং আমাদের অ্যাপ্লিকেশনগুলি সমস্যা ছাড়াই চলতে পারে তা নিশ্চিত করার জন্য সত্যই আরও বেশি মনোনিবেশ করা দরকার ।


3
এর একটি কারণ হ'ল নেট '' বড় অবজেক্টস '(সাধারণত 85 কে বা আরও বড় বা কোনও কিছুর) জন্য পৃথক হিপ ব্যবহার করে যা আবর্জনা সংগ্রহের সময় কমপ্যাক্ট হয় না (যদিও নেট নেট 4.5.1-এ আমি মনে করি যে তারা এলওএইচ সংক্ষেপণের জন্য বিকল্প যোগ করেছে), এবং ASP.NET এ সার্ভার সাইডে এইচটিএমএল রেন্ডার করার সময় এইচটিএমএল এর 85 কে (বিশেষত টেবিল এবং গ্রিডের মতো পুনরাবৃত্ত সামগ্রীগুলির জন্য) দেখতে অস্বাভাবিক কিছু নয় এবং এই এইচটিএমএল মূলত এক পর্যায়ে সার্ভারে কেবল একটি বিশাল স্ট্রিং অবজেক্ট, এবং যদি এটি যোগ্যতা অর্জন করে তবে একটি বৃহত অবজেক্ট, এটি বৃহত অবজেক্টের হ্যাপ বিভাজনে অবদান রাখে, ফলস্বরূপ আউটআফমিউরি এক্সেকশন এর ফলস্বরূপ, পুনর্ব্যবহারযোগ্য
অযৌক্তিকভাবে

0

ওপি দৃশ্যের উপর ভিত্তি করে (স্টার্টআপ / ওয়ার্ম আপে দীর্ঘ সূচনা), অন্য একটি জিনিস যা স্টার্টআপের সময় সীমা (সেকেন্ড) তা 90 ডিগ্রি এর ডিফল্ট মান রয়েছে check যদি সূচনাটি প্রারম্ভকালীন সময়সীমার চেয়ে বেশি সময় নেয়, তবে কর্মী প্রক্রিয়াটি শেষ করা যেতে পারে।

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