আমি কীভাবে এএসপি.নেট এমভিসি অ্যাপ্লিকেশন কর্মক্ষমতা উন্নত করব?


উত্তর:


311

উন্নতির সম্ভাব্য উত্সগুলির একটি সংকলিত তালিকা নীচে রয়েছে:

সাধারণ

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

ক্যাশিং

  • CompiledQuery.Compile() আপনার ক্যোয়ারী এক্সপ্রেশনগুলির পুনঃসংশোধন এড়ানো পুনরাবৃত্তভাবে ব্যবহার করুন
  • ক্যাশে OutputCacheAttribute অযৌক্তিক এবং ক্রিয়াকলাপের সম্পাদনাগুলি সংরক্ষণ করে ব্যবহার করে প্রবণতা পরিবর্তন করে না
  • ঘন ঘন অ্যাক্সেস অবেদনশীল তথ্যের জন্য কুকি ব্যবহার করুন
  • ETags এবং মেয়াদোত্তীকরণ ব্যবহার করুন - ActionResultপ্রয়োজনে আপনার কাস্টম পদ্ধতিগুলি লিখুন
  • RouteNameআপনার রুটগুলি সংগঠিত করতে ব্যবহার করার বিষয়টি বিবেচনা করুন এবং তারপরে আপনার লিঙ্কগুলি তৈরি করতে এটি ব্যবহার করুন এবং এক্সপ্রেশন ট্রি ভিত্তিক অ্যাকশনলিঙ্ক পদ্ধতিটি ব্যবহার না করার চেষ্টা করুন।
  • একটি রুট রেজোলিউশন ক্যাশে কৌশল বাস্তবায়নের কথা বিবেচনা করুন
  • আপনার ভিতরে পুনরাবৃত্তি কোডটি রাখুন PartialViews, এটিকে XXXXX বারে রেন্ডার এড়ান : আপনি যদি একই দৃষ্টিভঙ্গিতে একই আংশিক 300 বার কল করে থাকেন তবে সম্ভবত এতে কোনও সমস্যা আছে। ব্যাখ্যা এবং বেঞ্চমার্ক

রাউটিং

নিরাপত্তা

  • ফর্ম প্রমাণীকরণ ব্যবহার করুন, প্রমাণীকরণের টিকিটে আপনার ঘন ঘন অ্যাক্সেস করা সংবেদনশীল ডেটা রাখুন

ডাল

ভারসাম্য লোড করুন

  • আপনার অ্যাপ্লিকেশন উদাহরণগুলিতে ক্লায়েন্ট লোড ছড়িয়ে দিতে, বিপরীত প্রক্সিগুলি ব্যবহার করুন। (স্ট্যাক ওভারফ্লো HAProxy ( MSDN ) ব্যবহার করে।

  • বাহ্যিক সংস্থান প্রক্রিয়াজাতকরণের উপর নির্ভরশীল ক্রিয়াগুলি প্রয়োগ করতে অ্যাসিক্রোনাস কন্ট্রোলার ব্যবহার করুন ।

মক্কেলের পক্ষে

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

গ্লোবাল কনফিগারেশন

  • আপনি যদি রেজার ব্যবহার করেন তবে ডিফল্টরূপে আপনার Global.asax.cs এ নিম্নলিখিত কোড যুক্ত করুন, Asp.Net MVC একটি এসপেক্স ইঞ্জিন এবং একটি রেজার ইঞ্জিন সহ রেন্ডার করে। এটি কেবল রেজারভিউইনগাইন ব্যবহার করে।

    ViewEngines.Engines.Clear(); ViewEngines.Engines.Add(new RazorViewEngine());

  • আপনার ওয়েবকনফাইগে জিজিপ (এইচটিটিপি সংক্ষেপণ) এবং স্ট্যাটিক ক্যাশে (চিত্রগুলি, সিএসএস, ...) যুক্ত করুন <system.webServer> <urlCompression doDynamicCompression="true" doStaticCompression="true" dynamicCompressionBeforeCache="true"/> </system.webServer>

  • অব্যবহৃত HTTP মডিউলগুলি সরান
  • আপনার HTML তৈরি হওয়ার সাথে সাথেই ফ্লাশ করুন (আপনার ওয়েবকনফিগে) এবং ভিউস্টেটটি এটি ব্যবহার না করা থাকলে অক্ষম করুন <pages buffer="true" enableViewState="false">

6
অপেক্ষা করুন আপনার মানে আমি পারফরম্যান্স হারাব যখন আমি উদাহরণস্বরূপ এমন একটি ভিউ পেয়েছি যা কোনও আইলিস্টের মাধ্যমে বিরক্ত করে কোনও ফলাফল সেট করে এবং প্রতিটি তালিকার আইটেমের জন্য রেন্ডারকে কল করে ar পার্টিয়ালভিউ ("সারি", আইটেম)? আমি কত হারাতে পারি? বা আমি পারফরম্যান্সের লাভ কীভাবে পরিমাপ করতে পারি?
marc.d

@ এসডিআরেজ - পাব-সাব আর্কিটেকচারের অর্থ কী ?
মোহাম্মদ জমির

1
এটি দুর্দান্ত। যদিও উবার প্রোফাইলার লিঙ্কটি মারা গেছে। এটির পরিবর্তে কোনও একটি ORM নির্দিষ্ট প্রোফাইলারের সাথে লিঙ্ক করা উচিত?
শানাবাস

12

মূল পরামর্শটি হল REST নীতিগুলি অনুসরণ করা এবং নিম্নলিখিত বিষয়গুলি এএসপি.নেট এমভিসি কাঠামোর সাথে এই কয়েকটি প্রিন্সিপালকে যুক্ত করে:

  1. আপনার কন্ট্রোলারদেরকে রাষ্ট্রহীন করুন - এটি ' ওয়েব পারফরম্যান্স / স্কেলাবিলিটি' পরামর্শ (মাইক্রো / মেশিন স্তরের পারফরম্যান্সের বিপরীতে) এবং একটি বড় নকশার সিদ্ধান্ত যা আপনার অ্যাপ্লিকেশনগুলিকে ভবিষ্যতে প্রভাবিত করে - বিশেষত যদি এটি জনপ্রিয় হয়ে ওঠে বা আপনার কিছু প্রয়োজন হয় উদাহরণস্বরূপ দোষ সহনশীলতা।
    • সেশন ব্যবহার করবেন না
    • টেম্পডেটা ব্যবহার করবেন না - যা সেশন ব্যবহার করে
    • 'অকাল' সমস্ত কিছু 'ক্যাশে' করার চেষ্টা করবেন না।
  2. ফর্ম প্রমাণীকরণ ব্যবহার করুন
    • প্রমাণীকরণের টিকিটে আপনার ঘন ঘন অ্যাক্সেস করা সংবেদনশীল ডেটা রাখুন
  3. ঘন ঘন অ্যাক্সেস অবেদনশীল তথ্যের জন্য কুকি ব্যবহার করুন
  4. আপনার সংস্থানগুলি ওয়েবে ক্যাচযোগ্য করুন
  5. আপনার জাভাস্ক্রিপ্ট সংকলন করুন। এটি করার জন্য ক্লোজার সংকলক গ্রন্থাগার রয়েছে (নিশ্চিত অন্যরাও আছেন, কেবল 'জাভাস্ক্রিপ্ট সংকলক' অনুসন্ধান করুন )
  6. সিডিএন (সামগ্রী বিতরণ নেটওয়ার্ক) ব্যবহার করুন - বিশেষত আপনার বৃহত মিডিয়া ফাইলগুলির জন্য।
  7. আপনার ডেটা জন্য বিভিন্ন ধরণের স্টোরেজ বিবেচনা করুন, উদাহরণস্বরূপ, ফাইল, কী / মান স্টোর ইত্যাদি - কেবল এসকিউএল সার্ভারই ​​নয়
  8. সর্বশেষে তবে অন্তত নয়, পারফরম্যান্সের জন্য আপনার ওয়েবসাইটটি পরীক্ষা করুন

10

কোড লতা এবং এই ব্লগ এন্ট্রি অ্যাপ্লিকেশনটির কার্যকারিতা বাড়ানোর বিশদ উপায় সরবরাহ করে।

সংকলিত ক্যোয়ারী আপনার অ্যাপ্লিকেশনটির কার্যকারিতা বাড়িয়ে তুলবে, তবে এটির সাথে এএসপি.নেট এমভিসির মিল নেই। এটি প্রতিটি ডিবি অ্যাপ্লিকেশনকে ত্বরান্বিত করবে, সুতরাং এটি এমভিসি সম্পর্কিত নয়।


8

এটি সুস্পষ্ট বলে মনে হতে পারে তবে আপনার সাইটটি রিলিজ মোডে চালান, ডিবাগ মোড নয়, উত্পাদনের সময় এবং পারফরম্যান্স প্রোফাইলিংয়ের সময়। রিলিজ মোডটি আরও দ্রুত। ডিবাগ মোড আপনার নিজের কোডে পারফরম্যান্সের সমস্যাগুলি আড়াল করতে পারে।


6

লিনকুইয়ের মাধ্যমে ডেটা অ্যাক্সেস করার সময় আইকিউয়ারেবলের উপর নির্ভর করুন ...

কেন তালিকা () এর পরিবর্তে AsQueryable () ব্যবহার করবেন?

... এবং একটি ভাল সংগ্রহস্থল প্যাটার্ন লিভার্জ করুন:

সংগ্রহস্থল প্যাটার্নে সাবক্রাকার্ড লোড হচ্ছে

এটি কেবলমাত্র প্রয়োজনীয় ডেটা লোড হয় এবং যখন কেবল এটির প্রয়োজন হয় তা নিশ্চিত করতে এটি ডেটা অ্যাক্সেসকে অনুকূল করে তুলবে।


6

কোনও পৃথিবী-চূর্ণকারী অপ্টিমাইজেশন নয়, তবে আমি ভেবেছিলাম যে আমি এটিকে এখানে ফেলে দেব - jQuery ইত্যাদির জন্য সিডিএন ব্যবহার করুন

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

এমনকি আমরা মসতে আমাদের ওয়েবপৃষ্ঠাগুলির জন্য সিডিএন ব্যবহার করি যা jQuery ব্যবহার করে।


6

এছাড়াও যদি আপনি এনএইচবারনেট ব্যবহার করেন তবে আপনি চালু করতে পারেন এবং প্রশ্নের জন্য দ্বিতীয় স্তরের ক্যাশে সেটআপ করতে পারেন এবং ক্যোয়ারির সুযোগ এবং সময়সীমা শেষ করতে পারেন। এবং EF , L2S এবং NHibernate- এর জন্য কিক অ্যাস প্রোফাইলার রয়েছে - http://hibernatingrhinos.com/products/UberProf । এটি আপনার প্রশ্নের টিউন করতে সহায়তা করবে।


আয়েন্দে সম্প্রতি কীভাবে ইএফ প্রোফাইলার তাকে একটি নমুনা এমভিসি অ্যাপ্লিকেশন টিউন করতে সহায়তা করেছিলেন সে সম্পর্কে ব্লগ করেছেন: ayende.com/Blog/archive/2010/05/17/…
ফ্রাঙ্ক শ্যুইটারম্যান

5

আমি আরও যোগ করব:

  1. স্প্রাইট ব্যবহার করুন : স্প্রেটস একটি অনুরোধ হ্রাস করার জন্য দুর্দান্ত জিনিস। আপনি আপনার সমস্ত চিত্র একক একটিতে মার্জ করে এবং স্প্রাইটের ভাল অংশে পেতে CSS ব্যবহার করেন। মাইক্রোসফ্ট এটি করার জন্য একটি ভাল গ্রন্থাগার সরবরাহ করে: স্প্রাইট এবং চিত্র অপ্টিমাইজেশন পূর্বরূপ 4

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

  3. সত্তা ফ্রেমওয়ার্কের পরিবর্তে ADO.NET ব্যবহার করুন : EF4 or EF5বিকাশের সময় কমাতে দুর্দান্ত, তবে এটি অনুকূলিতকরণে বেদনাদায়ক হবে। সত্তা ফ্রেমওয়ার্কের চেয়ে কোনও সঞ্চিত পদ্ধতিটিকে অনুকূলকরণ করা আরও সহজ । সুতরাং আপনার যতটা সম্ভব স্টোর প্রক্রিয়া ব্যবহার করা উচিত। ড্যাপার খুব ভাল পারফরম্যান্স সহ এসকিউএলকে ক্যোয়ারী এবং মানচিত্রের একটি সহজ উপায় সরবরাহ করে।

  4. ক্যাশে পৃষ্ঠা বা আংশিক পৃষ্ঠা : এমভিসি কিছু পরামিতি অনুসারে পৃষ্ঠা ক্যাশে কিছু সহজ ফিল্টার সরবরাহ করে, তাই এটি ব্যবহার করুন।

  5. ডাটাবেস কল হ্রাস করুন : আপনি এক অনন্য ডাটাবেস অনুরোধ তৈরি করতে পারেন যা একাধিক বস্তু ফেরত দেয়। ডাপার ওয়েবসাইটে পরীক্ষা করুন।

  6. সর্বদা একটি পরিষ্কার আর্কিটেকচার থাকুন : একটি ছোট প্রকল্পেও একটি পরিষ্কার এন-টিয়ার আর্কিটেকচার রাখুন। এটি আপনাকে আপনার কোডটি পরিষ্কার রাখতে সহায়তা করবে এবং প্রয়োজনে এটি অপ্টিমাইজ করা সহজ হবে।

  7. আপনি এই টেমপ্লেটটি দেখে নিতে পারেন " নব্যস-এসডিআই এমভিসি টেম্পলেট " যা ডিফল্টরূপে প্রচুর পারফরম্যান্স উন্নতি করে আপনার জন্য একটি পরিষ্কার আর্কিটেকচার তৈরি করবে ( এমভিসিটিম্পলেট ওয়েবসাইটটি দেখুন)।


আপনি কি মনে করেন যে কোনও স্টোরেজ পদ্ধতি চালানো ভাল যা আরও বেশি ফলাফলের সেট দেয় আবার অ্যাসিঙ্ক মোডে আরও সঞ্চিত পদ্ধতি চালায়?
Muflix

4

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

এটি কেবল ASP.NET MVC নয়, সমস্ত সাইটে প্রযোজ্য।


3

করণীয় এক অতি সহজ কাজ হ'ল পৃষ্ঠার জন্য আপনি যে ডেটা চান সেটি অ্যাক্সেস করার সময় অযৌক্তিকভাবে চিন্তা করা। কোনও ওয়েব পরিষেবা, ফাইল, ডেটা বেস বা অন্য কোনও কিছু থেকে পড়া হোক না কেন, যতটা সম্ভব অ্যাসিঙ্ক মডেলটি ব্যবহার করুন। যদিও এটি অগত্যা কোনও একটি পৃষ্ঠাকে দ্রুত হতে সহায়তা করবে না এটি আপনার সার্ভারকে সামগ্রিকভাবে আরও ভালভাবে সম্পাদন করতে সহায়তা করবে।


2

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

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

3: প্রকাশের সময় আপনার এমভিসি ভিউগুলি জেনারেট করুন ... এটি 'প্রথম পৃষ্ঠার হিট' কিছুতে সহায়তা করবে

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

5: এটি বলেছিল, অ্যাপ্লিকেশন ওয়ার্মআপ সম্পর্কে চিন্তা করুন। আমাদের EF পারফরম্যান্সের বেশিরভাগ দুর্ভোগ দূর করতে আমরা যা করি তার অংশটি হ'ল একটি বিশেষ ওয়ার্মআপ পদ্ধতি যুক্ত করা। এটি কোনও জিজ্ঞাসা বা কিছু প্রাক্পাইল করে না, তবে এটি মেটাডেটা লোডিং / প্রজন্মের অনেকাংশে সহায়তা করে। কোড ফার্স্ট মডেলগুলির সাথে কাজ করার সময় এটি আরও বেশি গুরুত্বপূর্ণ হতে পারে।

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

7: ডাটাবেসে রাউন্ড ট্রিপগুলি হ্রাস করুন। আপনি প্রায়শই ব্যবহার করেন এমন স্টাফগুলি সংরক্ষণ করুন কিন্তু আপনার। নেট ক্যাশে বাস্তবে পরিবর্তন হবে না। আপনার সন্নিবেশ / আপডেটগুলি যেখানে সম্ভব সেখানে ব্যাচ করার চেষ্টা করুন।

7.1: জঘন্য কোনও ভাল কারণ ছাড়াই আপনার রেজার ভিউগুলিতে ডেটা অ্যাক্সেস কোড এড়িয়ে চলুন। আমি এটি না দেখলে এটি বলব না। মডেলটি একসাথে রাখার সময় তারা ইতিমধ্যে তাদের ডেটা অ্যাক্সেস করছিল, তারা কেন মডেলটিকে এগুলি অন্তর্ভুক্ত করছিল না?


2
  1. জিজিপ প্রয়োগ করুন।
  2. আংশিক দর্শনগুলির জন্য অ্যাসিঙ্ক্রোনাস রেন্ডারিং ব্যবহার করুন।
  3. ডাটাবেস হিট হ্রাস করুন।
  4. একটি সংকলিত ক্যোয়ারী ব্যবহার করুন।
  5. একজন প্রোফাইলার চালান এবং অপ্রয়োজনীয় হিটগুলি সন্ধান করুন। প্রতিক্রিয়া ফিরে পেতে 1 সেকেন্ডের বেশি সময় নিচ্ছে এমন সমস্ত সঞ্চিত প্রক্রিয়াটি অনুকূলিত করুন।
  6. ক্যাচিং ব্যবহার করুন।
  7. বান্ডলিং মিনিফিকেশন অপ্টিমাইজেশন ব্যবহার করুন ।
  8. পাঠ্য বিষয়বস্তুগুলির জন্য সেশন ক্যাশে এবং স্থানীয় স্টোরেজের মতো এইচটিএমএল 5 টি ইউটিলিটি ব্যবহার করুন।

2

শুধু আমার 2 সেন্ট যোগ করতে চেয়েছিলেন। এমভিসি অ্যাপ্লিকেশনে ইউআরএল রুট জেনারেশনের অনুকূলকরণের সর্বাধিক কার্যকর উপায় হ'ল ... এগুলি মোটেই উত্পন্ন নয়।

আমাদের বেশিরভাগই কম-বেশি জানেন যে কীভাবে আমাদের অ্যাপ্লিকেশনগুলিতে ইউআরএল তৈরি করা হয়, তাই কেবল বা এর Url.Content("~/Blahblah")পরিবর্তে স্ট্যাটিক ব্যবহার করেUrl.Action()Url.RouteUrl() যেখানে সম্ভব হয় , সমস্ত 20 টি পদ্ধতি এবং আরও 20 টির মারধর করে।

পুনশ্চ. আমি কয়েক হাজার পুনরাবৃত্তির একটি মানদণ্ড চালিয়েছি এবং আগ্রহী হলে আমার ব্লগে ফলাফল পোস্ট করেছি


1

ক্লায়েন্ট পক্ষের অনুকূলকরণের জন্য আপনার কোলাহলে, ডাটাবেস স্তরটি ভুলে যাবেন না। আমাদের কাছে একটি অ্যাপ্লিকেশন ছিল যা 5 সেকেন্ড থেকে রাত্রে 50 সেকেন্ড পর্যন্ত লোড হতে পারে।

পরিদর্শন করার সময়, আমরা স্কিমা পরিবর্তনগুলির পুরো গোছা করেছি। একবার আমরা পরিসংখ্যানগুলি সতেজ করে তুললে হঠাৎ এটি আগের মতো প্রতিক্রিয়াশীল হয়ে উঠল।


0

নিম্নলিখিত জিনিসগুলি করা হয়

  1. কার্নেল মোড ক্যাশে
  2. পাইপলাইন মোড
  3. অব্যবহৃত মডিউলগুলি সরান
  4. runAllManagedModulesForAllRequests
  5. Wwwroot এ লিখবেন না
  6. অব্যবহৃত ভিউ ইঞ্জিন এবং ভাষা সরান

0

বান্ডিলিং এবং মিনিফিকেশন ব্যবহার আপনাকে কার্যকারিতা উন্নত করতে সহায়তা করে। এটি মূলত পৃষ্ঠা লোডিং সময়কে হ্রাস করে।


0

আপনি যদি মাইক্রোসফ্ট অ্যাজুরে (আইএএএস বা পাস) আপনার এএসপি.এনইটি এমভিসি অ্যাপ্লিকেশনটি চালাচ্ছেন তবে কমপক্ষে প্রথম স্থাপনার আগে কমপক্ষে নিম্নলিখিতটি করুন।

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

0

। নেট সংস্করণ অনুযায়ী টাস্ক সমান্তরাল গ্রন্থাগারের (টিপিএল) সর্বশেষতম সংস্করণটি ব্যবহার করুন । বিভিন্ন উদ্দেশ্যে টিপিএলের সঠিক মডিউলগুলি বেছে নিতে হবে।


0

আমি উপরের সমস্ত উত্তর দিয়েছি এবং এটি আমার সমস্যার সমাধান করেনি।

অবশেষে, আমি সেটিং সঙ্গে আমার ধীর সাইট লোডিং সমস্যার সমাধান PrecompileBeforePublish মধ্যে প্রোফাইল প্রকাশ করুন থেকে সত্য । আপনি যদি মিসবিল্ড ব্যবহার করতে চান তবে আপনি এই যুক্তিটি ব্যবহার করতে পারেন:

 /p:PrecompileBeforePublish=true

এটি সত্যিই অনেক সাহায্য করে। এখন আমার এমভিসি এএসপি.এনইটি 10 ​​গুণ দ্রুত লোড হয়।

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