নথি অনুরোধ বিলম্বিত

অ্যাডাম রেইন
Adam Raine

প্রকাশিত: মার্চ 27, 2025

পৃষ্ঠার জন্য প্রাথমিক নথির অনুরোধটি সবচেয়ে গুরুত্বপূর্ণ কারণ সমস্ত নেটওয়ার্ক অনুরোধ এবং পৃষ্ঠার বিষয়বস্তু এটির উপর নির্ভর করে। প্রাথমিক নথির অনুরোধ অপ্টিমাইজ করা কর্মক্ষমতা উন্নত করে।

কি অন্তর্দৃষ্টি চেক

অন্তর্দৃষ্টি পরীক্ষা করে যে নিম্নলিখিত শর্তগুলির মধ্যে কোনটি প্রাথমিক নথির অনুরোধকে প্রভাবিত করেছে কিনা:

  • নেভিগেশন অনুরোধ এক বা একাধিক বার পুনঃনির্দেশিত হয়েছে.
  • সার্ভারের অনুরোধে সাড়া দিতে 600ms এর বেশি সময় লেগেছে।
  • প্রতিক্রিয়া অসংকুচিত ছিল.
Devtools রিপোর্ট করে যে রিডাইরেক্ট বাদ দিয়ে ডকুমেন্টের লেটেন্সি কমানো যেতে পারে
Devtools রিপোর্ট করে যে রিডাইরেক্ট বাদ দিয়ে ডকুমেন্টের লেটেন্সি কমানো যেতে পারে

পুনঃনির্দেশ এড়িয়ে চলুন

পুনঃনির্দেশ আপনার পৃষ্ঠা লোড গতি কমিয়ে. যখন কোনো ব্রাউজার রিডাইরেক্ট করা কোনো রিসোর্সকে অনুরোধ করে, সার্ভার সাধারণত এইরকম একটি HTTP প্রতিক্রিয়া প্রদান করে:

HTTP/1.1 301 Moved Permanently
Location: /path/to/new/location

তারপরে ব্রাউজারটিকে অবশ্যই নতুন অবস্থানে রিসোর্সটি পুনরুদ্ধার করতে আরেকটি HTTP অনুরোধ করতে হবে। নেটওয়ার্ক জুড়ে এই অতিরিক্ত ট্রিপ রিসোর্স লোড হতে বিলম্ব করতে পারে।

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

সার্ভার প্রতিক্রিয়া সময় হ্রাস করুন

সার্ভারের প্রতিক্রিয়ার সময় উন্নত করার প্রথম ধাপ হল মূল ধারণাগত কাজগুলি সনাক্ত করা যা আপনার সার্ভারকে পৃষ্ঠার বিষয়বস্তু ফেরত দেওয়ার জন্য সম্পূর্ণ করতে হবে, এবং তারপর এই প্রতিটি কাজ কতক্ষণ নেয় তা পরিমাপ করা। একবার আপনি দীর্ঘতম কাজগুলি চিহ্নিত করার পরে, সেগুলিকে দ্রুত করার উপায়গুলি সন্ধান করুন৷

ধীরগতির সার্ভার প্রতিক্রিয়ার অনেক সম্ভাব্য কারণ এবং উন্নতি করার অনেক সম্ভাব্য উপায় রয়েছে:

  • পৃষ্ঠাগুলি দ্রুত প্রস্তুত করতে সার্ভারের অ্যাপ্লিকেশন লজিক অপ্টিমাইজ করুন। আপনি যদি একটি সার্ভার ফ্রেমওয়ার্ক ব্যবহার করেন, তাহলে ফ্রেমওয়ার্কটিতে এটি কীভাবে করা যায় সে সম্পর্কে সুপারিশ থাকতে পারে।
  • কীভাবে আপনার সার্ভার ডাটাবেস অনুসন্ধান করে বা দ্রুত ডাটাবেস সিস্টেমে স্থানান্তরিত হয় তা অপ্টিমাইজ করুন।
  • আরও মেমরি বা CPU পেতে আপনার সার্ভার হার্ডওয়্যার আপগ্রেড করুন।
  • নেটওয়ার্ক লেটেন্সি কমাতে একটি CDN ব্যবহার করুন। এটি বিশেষভাবে কার্যকর যদি নথিটি CDN প্রান্ত নোডে ক্যাশে করা যায়।

আরো বিস্তারিত জানার জন্য অপ্টিমাইজ TTFB গাইড দেখুন।

কম্প্রেশন সক্ষম করুন

টেক্সট কম্প্রেশন প্রাথমিক HTML নথির সামগ্রিক আকার কমাতে পারে। যখন একটি ব্রাউজার একটি সম্পদের অনুরোধ করে, তখন এটি কোন কম্প্রেশন অ্যালগরিদম সমর্থন করে তা নির্দেশ করার জন্য Accept-Encoding HTTP অনুরোধ শিরোনাম ব্যবহার করবে।

Accept-Encoding: gzip, compress, br, zstd

এছাড়াও পাঠ্য-ভিত্তিক সম্পদের এনকোডিং এবং স্থানান্তর আকার অপ্টিমাইজ করুন দেখুন।

আপনার সার্ভারটি কোন কম্প্রেশন অ্যালগরিদম ব্যবহার করেছে তা নির্দেশ করতে Content-Encoding HTTP প্রতিক্রিয়া শিরোনামটি ফেরত দেওয়া উচিত।

Devtools রিপোর্ট করে যে নথির অনুরোধটি gzip কম্প্রেশন ব্যবহার করছে
Devtools রিপোর্ট করে যে নথির অনুরোধটি gzip কম্প্রেশন ব্যবহার করছে

স্ট্যাক-নির্দিষ্ট নির্দেশিকা

ওয়ার্ডপ্রেস

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

ড্রুপাল

  • পুনঃনির্দেশ মডিউল ইনস্টল করা থাকলে, অপ্রয়োজনীয় পুনঃনির্দেশগুলি পর্যালোচনা করুন এবং সরান।
  • এক বা একাধিক Drupal ক্যাশিং মডিউল যেমন Internal Page Cache , Internal Dynamic Page Cache এবং BigPipe সহ ট্র্যাফিক অফলোড করুন। প্রতিক্রিয়া সময় আরও উন্নত করতে একটি CDN এর সাথে এগুলিকে জোড়া করুন৷ আপনার হোস্টিং সার্ভার পিএইচপি OPcache ব্যবহার করা উচিত.
  • ডাটাবেস ক্যোয়ারী সময় কমাতে মেমরি-ক্যাশিং যেমন Redis বা Memcached ব্যবহার করার কথা বিবেচনা করুন।
  • সার্ভার প্রতিক্রিয়া সময় কম করতে পারফরম্যান্স থিম, মডিউল এবং দ্রুত সার্ভার ব্যবহার করুন।

প্রতিক্রিয়া

  • আপনি যদি রিঅ্যাক্ট রাউটার ব্যবহার করেন তবে রুট নেভিগেশনের জন্য <Redirect> উপাদানটির ব্যবহার কমিয়ে দিন।
  • আপনি যদি সার্ভার-সাইডে কোনো রিঅ্যাক্ট কম্পোনেন্ট রেন্ডার করছেন, তাহলে ক্লায়েন্টকে একবারে না করে মার্কআপের বিভিন্ন অংশ গ্রহণ ও হাইড্রেট করার জন্য renderToNodeStream() বা renderToStaticNodeStream() ব্যবহার করার কথা বিবেচনা করুন।

জুমলা

  • Gzip পৃষ্ঠা কম্প্রেশন সেটিং সক্ষম করুন (সিস্টেম > গ্লোবাল কনফিগারেশন > সার্ভার)।
  • টেমপ্লেট, এক্সটেনশন এবং সার্ভার স্পেসিফিকেশন সবই সার্ভারের প্রতিক্রিয়ার সময় অবদান রাখে। একটি আরও অপ্টিমাইজ করা টেমপ্লেট খুঁজে বের করার কথা বিবেচনা করুন, সাবধানে একটি অপ্টিমাইজেশন এক্সটেনশন নির্বাচন করুন বা আপনার সার্ভার আপগ্রেড করুন৷

ম্যাজেন্টো

সম্পদ