কিভাবে Mercado Libre ওয়েব ভাইটাল (TBT/FID) এর জন্য অপ্টিমাইজ করেছে

লাইটহাউসে সর্বোচ্চ সম্ভাব্য FID 90% হ্রাস এবং Chrome ব্যবহারকারীর অভিজ্ঞতা রিপোর্টে FID-তে 9% উন্নতির জন্য পণ্যের বিবরণ পৃষ্ঠাগুলির ইন্টারঅ্যাক্টিভিটি অপ্টিমাইজ করা৷

কার্লোস আরানহা
Carlos Aranha
জোয়ান বাকা
Joan Baca

Mercado Libre লাতিন আমেরিকার বৃহত্তম ই-কমার্স এবং পেমেন্ট ইকোসিস্টেম। এটি 18টি দেশে বিদ্যমান এবং এটি ব্রাজিল, মেক্সিকো এবং আর্জেন্টিনায় (অনন্য দর্শক এবং পৃষ্ঠা দর্শনের উপর ভিত্তি করে) একটি বাজারের শীর্ষস্থানীয়।

ওয়েব পারফরম্যান্স দীর্ঘ সময়ের জন্য কোম্পানির জন্য একটি ফোকাস হয়েছে, কিন্তু তারা সম্প্রতি পারফরম্যান্স নিরীক্ষণ এবং সাইটের বিভিন্ন অংশে অপ্টিমাইজেশান প্রয়োগ করার জন্য একটি দল গঠন করেছে৷

এই নিবন্ধটি কোর ওয়েব ভাইটালগুলির একটিকে অপ্টিমাইজ করার জন্য Mercado Libre-এর ফ্রন্টএন্ড আর্কিটেকচার টিম থেকে Guille Paz , Pablo Carminatti এবং Oleh Burkhay দ্বারা করা কাজের সংক্ষিপ্তসার: প্রথম ইনপুট বিলম্ব (FID) এবং এর ল্যাব প্রক্সি, টোটাল ব্লকিং টাইম (TBT)

90 %

বাতিঘরে সর্বোচ্চ সম্ভাব্য FID হ্রাস

9 %

CrUX-এ FID কে "দ্রুত" হিসাবে উপলব্ধি করা আরও ব্যবহারকারী৷

দীর্ঘ কাজ, প্রথম ইনপুট বিলম্ব, এবং মোট ব্লকিং সময়

ব্যয়বহুল জাভাস্ক্রিপ্ট কোড চালানোর ফলে দীর্ঘ টাস্ক হতে পারে, যা ব্রাউজারের মূল থ্রেডে 50ms এর বেশি চলে।

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

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

যখন Mercado Libre-এর সাইটটি বেশিরভাগ বিভাগে ভাল পারফরম্যান্স করছিল, তারা Chrome ব্যবহারকারীর অভিজ্ঞতা রিপোর্টে দেখেছে যে পণ্যের বিশদ পৃষ্ঠাগুলির একটি দুর্বল FID ছিল৷ সেই তথ্যের উপর ভিত্তি করে, তারা সাইটের পণ্য পৃষ্ঠাগুলির জন্য ইন্টারঅ্যাকটিভিটি উন্নত করার জন্য তাদের প্রচেষ্টা ফোকাস করার সিদ্ধান্ত নিয়েছে৷

একটি Mercado Libre পণ্যের বিস্তারিত পৃষ্ঠার মোবাইল এবং ডেস্কটপ সংস্করণ।
একটি Mercado Libre পণ্যের বিস্তারিত পৃষ্ঠার মোবাইল এবং ডেস্কটপ সংস্করণ।

এই পৃষ্ঠাগুলি ব্যবহারকারীকে জটিল মিথস্ক্রিয়া সঞ্চালনের অনুমতি দেয়, তাই লক্ষ্য ছিল ইন্টারঅ্যাক্টিভিটি অপ্টিমাইজেশান, মূল্যবান কার্যকারিতায় হস্তক্ষেপ না করে।

পণ্যের বিস্তারিত পৃষ্ঠাগুলির ইন্টারঅ্যাক্টিভিটি পরিমাপ করুন

FID এর জন্য একজন প্রকৃত ব্যবহারকারীর প্রয়োজন এবং এইভাবে ল্যাবে পরিমাপ করা যায় না। যাইহোক, টোটাল ব্লকিং টাইম (TBT) মেট্রিক ল্যাব-পরিমাপযোগ্য, ক্ষেত্রের FID-এর সাথে ভালভাবে সম্পর্কযুক্ত, এবং ইন্টারঅ্যাক্টিভিটি প্রভাবিত করে এমন সমস্যাগুলিও ক্যাপচার করে।

নিম্নলিখিত ট্রেসে, উদাহরণস্বরূপ, মূল থ্রেডে চলমান টাস্কগুলি চালানোর জন্য মোট সময় 560 ms, সেই সময়ের মাত্র 345 ms কে মোট ব্লক করার সময় হিসাবে বিবেচনা করা হয় (প্রতিটি টাস্কের অংশগুলির সমষ্টি যা 50ms অতিক্রম করে):

প্রধান থ্রেডে একটি টাস্ক টাইমলাইন ব্লক করার সময় দেখাচ্ছে

বাস্তব জগতে পণ্যের বিশদ পৃষ্ঠাগুলির ইন্টারঅ্যাক্টিভিটি পরিমাপ এবং উন্নত করার জন্য Mercado Libre ল্যাবে একটি প্রক্সি মেট্রিক হিসাবে TBT গ্রহণ করেছে৷

তারা যে সাধারণ পন্থা নিয়েছে তা এখানে:

দীর্ঘ কাজ কল্পনা করতে WebPageTest ব্যবহার করুন

WebPageTest (WPT) হল একটি ওয়েব পারফরম্যান্স টুল যা আপনাকে বিশ্বের বিভিন্ন স্থানে বাস্তব ডিভাইসে পরীক্ষা চালানোর অনুমতি দেয়।

Mercado Libre তাদের ব্যবহারকারীদের অভিজ্ঞতা পুনরুত্পাদন করতে WPT ব্যবহার করে একটি ডিভাইসের ধরন এবং প্রকৃত ব্যবহারকারীদের মতো অবস্থান বেছে নিয়ে। বিশেষ করে, তারা একটি Moto 4G ডিভাইস এবং Dulles, Virginia বেছে নিয়েছে, কারণ তারা মেক্সিকোতে Mercado Libre ব্যবহারকারীদের অভিজ্ঞতা আনুমানিক জানতে চেয়েছিল। WPT-এর মূল থ্রেড ভিউ পর্যবেক্ষণ করে, Mercado Libre দেখতে পেল যে 2 সেকেন্ডের জন্য মূল থ্রেডকে ব্লক করার জন্য পরপর বেশ কয়েকটি দীর্ঘ কাজ ছিল:

Mercado Libre এর পণ্যের বিস্তারিত পৃষ্ঠাগুলির মূল থ্রেড ভিউ।
Mercado Libre এর পণ্যের বিস্তারিত পৃষ্ঠাগুলির মূল থ্রেড ভিউ।

সংশ্লিষ্ট জলপ্রপাত বিশ্লেষণ করে তারা দেখতে পেল যে এই দুই সেকেন্ডের একটি উল্লেখযোগ্য অংশ তাদের বিশ্লেষণ মডিউল থেকে এসেছে। অ্যাপ্লিকেশনটির প্রধান বান্ডেলের আকার ছিল বড় (950KB) এবং পার্স, কম্পাইল এবং এক্সিকিউট করতে অনেক সময় লেগেছিল।

পণ্যের বিস্তারিত পৃষ্ঠাগুলির জলপ্রপাতের দৃশ্য।
Mercado Libre এর পণ্যের বিস্তারিত পৃষ্ঠাগুলির জলপ্রপাতের দৃশ্য।

সর্বোচ্চ সম্ভাব্য FID নির্ধারণ করতে বাতিঘর ব্যবহার করুন

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

পণ্যের বিশদ পৃষ্ঠাগুলিতে লাইটহাউস চালানোর সময়, Mercado Libre দেখতে পান যে সর্বাধিক সম্ভাব্য FID হল লাল রঙে চিহ্নিত একমাত্র মেট্রিক, যার মান 1710ms

Mercado Libre এর পণ্যের বিস্তারিত পৃষ্ঠাগুলির জন্য একটি PSI রিপোর্টে বাতিঘর মেট্রিক্স।

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

দীর্ঘ কাজ অপ্টিমাইজ করুন

প্রথম পুনরাবৃত্তি

প্রধান থ্রেড ট্রেসের উপর ভিত্তি করে, Mercado Libre ব্যয়বহুল কোড চলমান দুটি মডিউল অপ্টিমাইজ করার লক্ষ্য নির্ধারণ করেছে।

তারা অভ্যন্তরীণ ট্র্যাকিং মডিউলের কর্মক্ষমতা অপ্টিমাইজ করা শুরু করে। এই মডিউলটিতে একটি CPU-ভারী টাস্ক রয়েছে যা মডিউলটির কাজ করার জন্য গুরুত্বপূর্ণ ছিল না এবং তাই নিরাপদে সরানো যেতে পারে। এটি পুরো সাইটের জন্য জাভাস্ক্রিপ্টে 2% হ্রাসের দিকে পরিচালিত করেছে।

এর পরে তারা সাধারণ বান্ডিলের আকার উন্নত করার জন্য কাজ শুরু করে:

অপ্টিমাইজেশানের সুযোগ সনাক্ত করতে Mercado Libre ওয়েবপ্যাক-বান্ডেল-বিশ্লেষক ব্যবহার করেছে:

তারা নিম্নলিখিত ব্যাবেল অপ্টিমাইজেশানগুলিও প্রয়োগ করেছে:

এই অপ্টিমাইজেশনের ফলস্বরূপ, বান্ডেলের আকার প্রায় 16% হ্রাস পেয়েছে।

প্রভাব পরিমাপ

পরিবর্তনগুলি Mercado Libre-এর একটানা দীর্ঘ কাজকে দুই সেকেন্ড থেকে এক সেকেন্ডে নামিয়ে এনেছে:

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

বাতিঘর সর্বোচ্চ সম্ভাব্য প্রথম ইনপুট বিলম্বে 57% হ্রাস দেখিয়েছে:

অপ্টিমাইজেশনের প্রথম রাউন্ডের পরে Mercado Libre-এর পণ্যের বিস্তারিত পৃষ্ঠাগুলির জন্য PSI রিপোর্টে লাইটহাউস মেট্রিক্স।

দ্বিতীয় পুনরাবৃত্তি

পরবর্তী উন্নতিগুলি খুঁজতে দলটি দীর্ঘ কাজগুলিতে খনন অব্যাহত রেখেছে।

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

সেই তথ্যের ভিত্তিতে তারা নিম্নলিখিত পরিবর্তনগুলি বাস্তবায়ন করার সিদ্ধান্ত নিয়েছে:

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

প্রভাব পরিমাপ

ফলস্বরূপ WebPageTest ট্রেস JS নির্বাহের আরও ছোট অংশ দেখায়:

দ্বিতীয় রাউন্ডের অপ্টিমাইজেশনের পর Mercado Libre-এর পণ্যের বিস্তারিত পৃষ্ঠাগুলির মূল থ্রেড ভিউ।

এবং লাইটহাউসে তাদের সর্বোচ্চ সম্ভাব্য FID সময় একটি অতিরিক্ত 60% দ্বারা হ্রাস করা হয়েছে:

অপ্টিমাইজেশনের প্রথম রাউন্ডের পরে Mercado Libre-এর পণ্যের বিস্তারিত পৃষ্ঠাগুলির জন্য PSI রিপোর্টে লাইটহাউস মেট্রিক্স।

বাস্তব ব্যবহারকারীদের জন্য অগ্রগতি কল্পনা করুন

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

ক্রোম ব্যবহারকারীর অভিজ্ঞতা প্রতিবেদন বাস্তব-বিশ্বের ক্রোম ব্যবহারকারীরা ওয়েবে জনপ্রিয় গন্তব্যগুলি কীভাবে অনুভব করে তার জন্য ব্যবহারকারীর অভিজ্ঞতার মেট্রিক্স প্রদান করে৷ BigQuery , PageSpeedInsights , বা CrUX API- এ কোয়েরি চালিয়ে রিপোর্ট থেকে ডেটা পাওয়া যেতে পারে৷

CrUX ড্যাশবোর্ড হল মূল মেট্রিক্সের অগ্রগতি কল্পনা করার একটি সহজ উপায়:

.
Mercado Libre-এর FID অগ্রগতি জানুয়ারী 2020 এবং এপ্রিল 2020-এর মধ্যে। অপ্টিমাইজেশন প্রকল্পের আগে, 82% ব্যবহারকারী FID দ্রুত (100ms এর নিচে) হিসাবে উপলব্ধি করছিলেন। এর পরে, 91% এরও বেশি ব্যবহারকারী মেট্রিকটিকে দ্রুত হিসাবে উপলব্ধি করছেন৷

পরবর্তী পদক্ষেপ

ওয়েব পারফরম্যান্স কখনই একটি সমাপ্ত কাজ নয়, এবং Mercado Libre বুঝতে পারে যে এই অপ্টিমাইজেশনগুলি তাদের ব্যবহারকারীদের কাছে নিয়ে আসে। যদিও তারা প্রোডাক্ট লিস্টিং পেজ, ইমেজ অপ্টিমাইজেশান এবং অন্যান্য প্রিফেচিং সহ সমগ্র সাইট জুড়ে বেশ কিছু অপ্টিমাইজেশান প্রয়োগ করা চালিয়ে যাচ্ছে, তারা মোট ব্লকিং টাইম (TBT) এবং প্রক্সি এফআইডির মাধ্যমে আরও অনেক কিছু কমাতে প্রোডাক্ট লিস্টিং পেজগুলিতে উন্নতি যোগ করা চালিয়ে যাচ্ছে। এই অপ্টিমাইজেশান অন্তর্ভুক্ত:

  • কোড বিভাজন সমাধান পুনরাবৃত্তি.
  • তৃতীয় পক্ষের স্ক্রিপ্টগুলির সম্পাদনের উন্নতি করা।
  • বান্ডলার লেভেলে অ্যাসেট বান্ডলিংয়ে ক্রমাগত উন্নতি ( ওয়েবপ্যাক )।

Mercado Libre এর পারফরম্যান্সের একটি সামগ্রিক দৃষ্টিভঙ্গি রয়েছে, তাই তারা সাইটে ইন্টারঅ্যাক্টিভিটি অপ্টিমাইজ করা চালিয়ে যাওয়ার সময়, তারা অন্যান্য দুটি বর্তমান কোর ওয়েব ভাইটালগুলিতে উন্নতির সুযোগগুলি মূল্যায়ন করা শুরু করেছে: LCP (লার্জেস্ট কনটেন্টফুল পেইন্ট) এবং CLS (ক্রমবর্ধমান লেআউট শিফট) এমনকি আরো