স্কেলিং এবং সুরের পারফরম্যান্সে বাস্তব বিশ্বের অভিজ্ঞতা


54

আমি যে ওয়েবসাইটটিতে কাজ করছি তাতে লঞ্চ হওয়ার খুব শীঘ্রই প্রচুর হিট রেট পড়বে বলে অভিযোগ করা হচ্ছে । ক্লায়েন্ট প্রতি এক সেকেন্ডে প্রায় 2500 হিট প্রতি সেকেন্ডের সম্ভাবনা সম্পর্কে কথা বলছে।

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

আমি স্ক্রোলিং ড্রুপাল.আর. অবকাঠামো , ড্রুপাল পারফরম্যান্স ব্লগ , স্কেলিং ড্রুপালের সেরা অনুশীলন এবং অন্যান্য অনেক পৃষ্ঠা পড়েছি, তবে আমি যা খুঁজছি তা করার এটির বাস্তব অভিজ্ঞতা, কী কাজ করে, কী করে না এবং কী করে আশা।

উত্তর:


47

মার্কডরিসনের উত্তর হ'ল মূলত এই সমস্যাটিতে আক্রমণ করার স্বীকৃত পদ্ধতি। আমি আরও কিছুটা এগিয়ে নিয়ে যাব।

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

ওয়ার্নিশকে সর্বোত্তমভাবে কাজ করার জন্য নিশ্চিত করে নিন যে আপনি এটি -s ফাইল / পাথ / টু / ফাইলের ডিফল্টের পরিবর্তে -s malloc xG দিয়ে শুরু করেছেন। এছাড়াও বার্নিশের সাথে বার্নিশ ক্যাশে স্থির আইটেম রয়েছে যতক্ষণ আপনি পারেন।

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

সংস্করণ 1.5 (3 শে মার্চ ২০১১ হিসাবে) এখনও দ্রুপাল.অর্গ থেকে মেমক্যাচ মডিউলটির দ্রুততম সংস্করণ। আমি সাধারণত এটি বৃহত্তর একাধিক বিনের সংযোগের জন্য টিসিপি ট্র্যাফিক কম করতে সার্ভার প্রতি একক বিন ব্যবহার করে স্থাপন করি)

ক্যাশিংটিকে "পারফরম্যান্স" এ বাহ্যিকভাবে কনফিগার করুন এবং সর্বাধিক বয়স নির্ধারণ করুন যা সঠিক শিরোনামকে বার্নিশের মতো ক্যাশে প্রক্সিতে প্রেরণ করবে।

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

মাইএসকিউএল এর জন্য আপনার ইনোডিবি (বা এটির অন্যান্য নামাদির অন্যান্য সরবরাহকারীদের কাছ থেকে) বেছে নেওয়া উচিত এবং এতে সমস্ত সারণী সরিয়ে নেওয়া উচিত। তারপরে বেসিক টিউনিং পরামর্শের জন্য এই ব্লগ পোস্টটি দেখুন http://www.mysqlperformanceblog.com/2007/11/01/innodb-performance-optimization-basics/

একটি বড় বাফার পুল থাকা মূলত গুরুত্বপূর্ণ। লোড টেস্টিংয়ের সময় সাইটটি স্লো ক্যোয়ারী লগটি চালু করে। আপনি সম্ভবত প্রথম ক্যাপচার ক্যোয়ারীগুলিতে ৫০ মিঃ সেকেন্ডের বেশি সময় নিচ্ছেন এবং তারপরে অনুসন্ধানগুলি টিউন করুন এবং পুনরায় সক্রিয় লগ ক্যাপচারের সময়টি হ্রাস করুন যতক্ষণ না আপনার সূচকগুলি ব্যবহার করে বেশিরভাগ অনুসন্ধান চলমান থাকে এবং মোটামুটি দ্রুত কার্যকর করা যায়।

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


"আপনি যদি mod_php এর পরিবর্তে দ্রুত সিজিআইয়ের জন্য যান তবে ভাল র‌্যাপার স্ক্রিপ্টটি কনফিগার করে পিপিএইচ ইভেন্টগুলিতে এপিসি ক্যাশে ভাগ করে নেওয়ার চেষ্টা করার জন্য কিছুটা সময় ব্যয় করবেন Also এছাড়াও নিশ্চিত হয়ে নিন যে প্রতিটি শেষ বিট চেপে ধরার জন্য এপিসি ক্যাশে একটি মেমরি ম্যাপ করা ফাইলটিতে রয়েছে? পিএইচপি আউট। " : ঠিক আছে, এখানে কীভাবে হয়? ধন্যবাদ
জন

1
মেমরি ম্যাপ করা এপিসির জন্য এটি সংকলিত
স্টুয়ার্ট রবিনসন

23

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

আপনার যদি পৃষ্ঠার এমন কিছু অংশ থাকে যা আপনি অজ্ঞাতনামা ব্যবহারকারীদের জন্য ক্যাশে রাখতে সক্ষম নন (যে বিষয়গুলি ব্যবহারকারীদের জন্য নির্দিষ্ট, "ওয়েলকাম ইউজারএক্স" ইত্যাদি), আপনি পৃষ্ঠার এই টুকরোগুলি যেমন অ্যাসিঙ্ক্রোনাসকে آباد করতে বিকল্পগুলি অন্বেষণ করতে পারেন কলব্যাকস বা প্রান্তের অন্তর্ভুক্ত।

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


রিচার্ড: আমার আনন্দ আপনার যদি কোনও ফলো-আপ প্রশ্ন থাকে তবে আমাকে জানান।
মার্কডোরিসন

16

এক সেকেন্ডে প্রতি সেকেন্ডে 2500 হিট - যদি "হিট" এর অর্থ যদি আপনি "পৃষ্ঠা সরবরাহ" করেন তবে তা দিনে 216 মিলিয়ন পৃষ্ঠা। আমাকে এটি বলতে দাও: আপনার দিনে 216 মিলিয়ন পৃষ্ঠা নেই। আমি এই ক্লায়েন্টদের ভালবাসি ...

বলেছিল, একটি কাঁচা ট্র্যাফিক ডেটা কিছুই বলে না। এই থ্রেডের পরামর্শটি বার্নিশ / সিডিএন সম্পর্কে সুরক্ষিত যদিও আপনার সমস্ত কিছু বেনামে ট্র্যাফিক হয় তবে আপনি যদি ট্র্যাফিকে লগইন করেন তবে আপনি একটি চ্যালেঞ্জের মুখোমুখি। তবে কোনও সমস্যা সমাধানের জন্য অযৌক্তিক পরিমাণ সময় এবং প্রচেষ্টা ব্যয় করার আগে নিশ্চিত হয়ে নিন যে আপনার কোনও সমস্যা আছে। 2500 হিট প্রতি সেকেন্ডে, বিং এর চেয়ে কম পেয়েছে, আপনি বুঝতে পেরেছেন, তাই না?


2
2500 / সেকেন্ড ছিল ক্লায়েন্টের নম্বরগুলি যা আমি মনে করি আমরা সকলেই বন্য অনুমান হিসাবে স্বীকৃত; আমাকে এটাই করতে হয়েছিল। যেহেতু দেখা যাচ্ছে যে প্রবর্তনটি তাদের পরিকল্পনা (আশা) হিসাবে তৈরি তেমন সাফল্য ছিল না এবং আশ্চর্যের বিষয় হল দৈনিক গড়ের সাথে প্রতি সেকেন্ডে 20 (পৃষ্ঠা) প্রতি সেকেন্ডে প্রায় 10 মিনিটের জন্য মূলত বেনামে পৌঁছানো - 7.32 পৃষ্ঠাগুলি / সেকেন্ড .....
রিচার্ড হ্যারিসন

7
  • সার্ভার পাশ

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

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

    • দ্রুত সন্ধানের জন্য সারণীগুলি যথাযথভাবে সূচিত হয়েছে তা নিশ্চিত করুন।
    • অপ্রয়োজনীয় রেকর্ড সংরক্ষণ করবেন না, একটি 100 নোড ডাটাবেস সর্বদা 3 মিলিয়ন নোড ডাটাবেসের চেয়ে দ্রুত অ্যাক্সেস করা হবে।

6

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

http://www.lullabot.com/podcasts/podcast-92-grammycom


একদম একমত তোমার সাথে.
জোও গুইলেহরমে

4

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

আপনি যদি প্রথমে এটি পরীক্ষা না করেন তবে বিশ্বের সমস্ত টিউনিং সাহায্য করবে না।

অর্থনীতিবিদ এটি কীভাবে করেছিলেন তা সম্পর্কে এটি ডিসি এসএফ-এর উপস্থাপনা। http://sf2010.drupal.org/conference/sessions/performance-testing-economist-online-using-grinder


উপস্থাপনার লিঙ্কটি সত্যই খুব দরকারী। ধন্যবাদ
রিচার্ড হ্যারিসন

4

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

কনটেন্ট ডেলিভারি নেটওয়ার্ক ( সিডিএন ) ব্যবহার করা বেশ কয়েকটি ডোমেন (ডোমেন শারডিং) এর মাধ্যমে সংস্থানগুলি ছড়িয়ে দিতে সহায়তা করে যা ওয়েব সার্ভারে লোড হ্রাস করে।

সিডিএন ব্যবহার করা বিতরণ করা ক্যাচিং এবং দূরবর্তী ত্বরণে সহায়তা করে , একাধিক প্রান্ত-পয়েন্টের কারণে ডিডোএস আক্রমণকে প্রশমিত করতেও সহায়তা করে । এটি সুরক্ষায় সহায়তা করে, কারণ ক্যাশেড সামগ্রীগুলি শোষণ করা আরও বেশি কঠিন।

উদাহরণ প্রদানকারীর: Fastly , Rackspace , Akamai , আকাশী নীল, CloudFlare, অ্যামাজন, MaxCDN, ভেরাইজন।

এখানে আরও কিছু পরামর্শ দেওয়া হল:

সুতরাং ব্যবহারকারীর দৃষ্টিকোণ থেকে আপনার ওয়েব আর্কিটেকচারটি দেখতে দেখতে পারেন:

  1. ব্যবহারকারী (স্থানীয় ব্রাউজার ক্যাশিং)।
  2. এনজিআইএনএক্স বা পাউন্ড + বার্নিশ (লোড ব্যালেন্সার, এইচটিটিপি এক্সিলারেটর হিসাবে বিপরীত প্রক্সি)।
  3. অ্যাপাচি (ওয়েব সার্ভার)।
  4. পিএইচপি-এফপিএম (পিএইচপি ফাস্টসিজিআই প্রক্রিয়া পরিচালক)।
  5. মারিয়াডিবি (ডাটাবেস)।

ড্রুপাল অপ্টিমাইজেশনের পরামর্শের জন্য, পরীক্ষা করুন: আপনি কীভাবে ড্রুপাল পারফরম্যান্সকে উন্নত করবেন?


1

দুটি এক্সটেনশন সক্ষম করুন:

  • জেন্ডার ওপচে
  • wincache

আপনার অভিনয় আরও ভাল কাজ করবে।

আপনি যদি মাইক্রোসফ্ট অ্যাজুরে জেন্ডার ওপচাচি এবং উইনচে কে দু'হাত করতে দেখেন তবে প্রথমে ' ini' আন্ডার 'এর অধীনে একটি ফোল্ডার নাম তৈরি করুন D:\home\site\। এছাড়াও, ' .user.ini' এবং ' settings.ini' 2 টি ফাইল তৈরি করুন

প্রতিটি ফাইলে নিম্নলিখিত কনফিগারেশন যুক্ত করুন:

.user.ini

[PHP]
post_max_size = 32M
memory_limit = 512M
zend.enable_gc = On
upload_max_filesize = 32M
opcache.enable=1

setting.ini

wincache.ocenabled = 1
wincache.ocachesize = 255

এছাড়াও, কী PHP_INI_SCAN_DIR এবং মান সহ আপনার ওয়েব অ্যাপে একটি অ্যাপ্লিকেশন সেটিং যুক্ত করুন d:\home\site\ini

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

উপরের সেটিংয়ের পরে, আমার দ্রুপাল (ড্রুপাল 8.3) সাইটটি 3 সেকেন্ডের মধ্যে লোড করে।


0

আপনি ডিএনএস ভিত্তিক বা সফ্টওয়্যার / হার্ডওয়্যার লোড ভারসাম্যকর সমাধানের সহায়তায় একাধিক সার্ভারের ওপরে লোডকে পুনরায় বিতরণ পরীক্ষা করতে পারেন। এটিও দোষ সহনশীলতার জন্য বেক করা হবে।


এটি কীভাবে অর্জন করা যায় তা সম্বোধন করে না বলে এটি একটি ভাল উত্তর নয়। ওকিউ-তে উল্লিখিত হিসাবে এটি স্কেলিংয়ের আসল বিশ্ব অভিজ্ঞতা যা আমি পরে আছি।
রিচার্ড হ্যারিসন

যদি নির্ধারিত শক্তিগুলি যদি আমরা কাজে ড্রুপাল চালাতে পারি তবে আমি আমাদের হার্ডওয়্যার এবং কনফিগারারের রূপরেখা 5+ পৃষ্ঠা ব্লগ পোস্ট সরবরাহ করতে পেরে খুশি হব।
জেমস স্ট্যালিংস

চমৎকার। এটি একটি দরকারী রেফারেন্স হতে পারে। যাইহোক এটি পোস্ট করুন ...
রিচার্ড হ্যারিসন

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