আমি কামড় দেব।
ওয়েব সার্ভারের প্রথম প্রতিক্রিয়াটি অবশ্যই ইউকেতে 200 মিটারের মধ্যে আসতে হবে
এই মুহুর্তে সাইটের কোনও অগ্রভাগ নেই, এটি স্টাইল মুক্ত এবং চিত্র মুক্ত।
বার্নিশ বা এফপিসি (বা উভয়) এর সহায়তা ব্যতীত আপনি এই পরিসংখ্যানগুলি অর্জন করতে পারবেন না। আমি অবশ্যই আশা করব যে চিত্রটিতে স্থির সামগ্রী (যখনই আপনি এটি যুক্ত করার সিদ্ধান্ত নেবেন না) অন্তর্ভুক্ত করতে হবে না - এটি অর্জন করা অসম্ভব অসম্ভব হিসাবে (কোনও চিত্র / জেএস / সিএসএসের তুলনায় খুব কম)।
আমরা 800ms এ আসছে
এটি চালানো হচ্ছে nginx বার্নিশ সঙ্গে
আপনি বার্নিশটি ভুল কনফিগার করেছেন।
বার্নিশের একটি সঠিকভাবে কনফিগার করা ইনস্টলেশন <100 মিমি পৃষ্ঠার লোড বার সরবরাহ করবে (আমরা <10 মিমি কাছে দেখতে চাই)।
আসলে, ম্যাজেন্টোর জন্য, আপনার এমন কিছু দেখার আশা করা উচিত,
যখন কোনও গ্রাহক লগইন না থাকে ... যেমন
। অনন্য সেশন তৈরি করা হয়নি (কার্ট / ইচ্ছামত তালিকায় যুক্ত হওয়া, লগ ইন করা ইত্যাদি)
--1.2s--------0.8s-----------------0.6s----------------0.1s--------------0.08s----
Uncached Mage default cache Partial FPC cache Total FPC cache Varnish
যখন কোনও গ্রাহক লগ ইন হয় ... যেমন
। একটি অনন্য সেশন তৈরি করে (লগ ইন, কার্টে আইটেম ইত্যাদি)। এই মুহূর্তে বার্নিশ সম্ভবত বন্ধ হবে। এবং যদি আপনি ESI এর ব্যবহারটি বেছে নিয়েছেন - বিপরীত কলগুলির উপর নির্ভর করে, এটি হয় এফপিসি ক্যাশে (বুটস্ট্র্যাপের ওভারহেডগুলির কারণে) হিসাবে অনুরূপ পৃষ্ঠা লোড সময় বজায় রাখতে পারে - বা প্রকৃতপক্ষে পৃষ্ঠা ছাড়ানোর আগে পৃষ্ঠা লোডের সময় বাড়িয়ে তুলতে পারে।
--1.4s--------0.8s-----------------0.6s--------------
Uncached Mage default cache Total FPC cache
এটি বার্নিশকে সুর দেওয়ার ক্ষেত্রে নয় - এটির একটি ক্ষেত্রে - "আপনি আসলে কিছুই আদায় করছেন না" ।
আদর্শ Magento সার্ভার কনফিগারেশন ফাইল
একটি নেই, ভাল, বেশ নয়।
আমরা বিভিন্ন আকারের এবং ক্ষমতার - 400 টিরও বেশি সার্ভার, সমস্ত খাঁটি Magento স্টোর পরিচালনা করি। এবং এটি বিরল যে আমাদের একটিতে থাকা কনফিগারেশন ফাইলগুলি - অন্যটির সাথে মিলবে। এটি কারণ যে সমস্ত ব্যবসায় এক রকম নয়।
বোতল নখ বিভিন্ন কারণের কারণে গঠন করতে পারে:
- সক্রিয় অধিবেশনগুলির সাথে দর্শনার্থীর একাধিক সংখ্যক সম্মতি
- 'খারাপ' ক্রল বটগুলির শিকার, প্রয়োজনীয়, অমূল্য লোড উত্পন্ন করে
- স্তরযুক্ত নেভিগেশন হিটগুলির উচ্চ অনুপাত
- অনুসন্ধান অনুসন্ধানের সংখ্যা
- প্রতি ঘন্টা উচ্চ পরিমাণে লেনদেন
- খারাপভাবে নির্মিত টেম্পলেট
- অনেক বেশি / ধীর / তৃতীয় পক্ষের এক্সটেনশান
- পুরানো ইনবাউন্ড লিঙ্কগুলি 404 হিটগুলির উচ্চ অনুপাতের দিকে পরিচালিত করে
- সীমাতে নেটওয়ার্ক ইন্টারফেস ক্ষমতা
- বৃহত / জটিল ক্যাটালগ (প্রচুর পণ্য / বিভাগ / বৈশিষ্ট্য)
সুতরাং এই স্পেকট্রাম জুড়ে সমস্ত স্টোর সহ, প্রতিটিের আরও সর্বোত্তম পারফরম্যান্সের জন্য আলাদা পদ্ধতি রয়েছে।
উপরে বর্ণিত সমস্যাগুলি সমাধান করার জন্য; আমরা ইচ্ছাকৃতভাবে "আরও / আরও ভাল হার্ডওয়্যার" উল্লেখ করে এড়াব
- বার্নিশের বাইরে একটি এফপিসি ব্যবহার করুন
- নেটওয়ার্ক প্রান্তে খারাপ বটগুলি ফিল্টার আউট / ব্লক করুন - বা কুকি রাষ্ট্র / ইউআরএল নির্বিশেষে বার্নিশকে সমস্ত অনুরোধ পুনর্নির্দেশ করুন
- স্টোর স্তরযুক্ত নেভিগেশন এসএলআর-তে পরিবর্তন করুন, স্তরযুক্ত নেভিগেশন ফিল্টারকে নির্ভরশীল করুন
- এসএলআর-তে স্টক অনুসন্ধান পরিবর্তন করুন
- মাস্টার / স্লেভ কনফিগারেশন জুড়ে মাইএসকিউএল লোড বিতরণ করুন - যখন আপনি গ্যারান্টিযুক্ত ব্রাউজিং লোডটি বার্নিশ / এফপিসি দ্বারা শোষিত হয় কেবল তখন এটি করুন
- টেমপ্লেটটি পুনর্নির্মাণ করুন
- তাদের ফেলা
- অ্যাক্সেস লগগুলি অবিচ্ছিন্নভাবে পর্যবেক্ষণ করুন এবং প্রসবের আগে এনগিনেক্স / বার্নিশে ইউআরএলগুলি আবার লিখুন। এটি যদি এনগিনেক্স পর্যায়ে করে থাকে - বার্নিশ 301/302 পুনর্নির্দেশগুলি ক্যাশে করছে তা নিশ্চিত করুন।
- কোনও সিডিএন-তে স্থির সামগ্রী বিভক্ত করুন বা সংযোগের উন্নতি করুন
- আরও হার্ডওয়ার যুক্ত করুন (ভাল, আমাদের এটি কিছু সময় বলতে হয়েছিল)
সুতরাং এটি মনে রেখে - আপনি দেখতে পাবেন সম্ভবত কোনও Nginx কনফিগারেশন ফাইল, পিএইচপি fcgi পুল কনফিগার ফাইল, মাইএসকিউএল কনফিগারেশন ফাইল বা বার্নিশ কনফিগারেশন ফাইল যা একই হতে চলেছে। দম্পতি যা হার্ডওয়ার সহ নিজেকে পরিবর্তন করে; উপলভ্য মেমরি, আই / ও পারফরম্যান্স (এইচডিডি এবং নেটওয়ার্ক) এবং সিপিইউ - এবং আপনি দেখতে পাবেন এমন সূক্ষ্ম প্রকরণ যা আপনার ইচ্ছার 400% পারফরম্যান্স লাভের দিকে নিয়ে যায় - তবে অনায়াসে সহজে খুঁজে পাবেন এমন কোনও দ্রুত উত্তর নেই।
আপনি পিয়ার 1 প্রযোজিত ম্যাজেন্টো সাদা কাগজটি পেরফরম্যান্সে অনুলিপি করতে + পেষ্ট করতে পারেন (আমরা এটির সুপারিশ করব না); আশা করি সেটিংসটি আপনার উপলভ্য মেমরি, থ্রেড সীমা, টিসিপি / আইপি রাজ্যগুলি, I / O ক্ষমতা অতিক্রম করবে না এবং ভ্যানিলা অ্যাপাচি / মোড_এফপি কনফিগারেশনের চেয়ে কম পারফরম্যান্সের দিকে নিয়ে যাবে।
সুতরাং চালিয়ে যেতে দিন।
আদর্শ ম্যাজেন্টো সার্ভার স্ট্যাক
এটি আপনাকে বাস্তবের আরও কাছে পাওয়ার সম্ভাবনা বেশি। এটি প্রদর্শনের জন্য একটি ভাল উদাহরণ হ'ল ম্যাজস্ট্যাক , কীভাবে একটি ডেডিকেটেড ম্যাজেন্টো ওএস কনফিগার করা আছে
পৃথক উপ-উপাদানগুলি নিন এবং একটি ম্যাজেন্টো স্টোর চালানোর জন্য আপনার কাছে সর্বোত্তম / সমালোচনামূলক সফ্টওয়্যারটির একটি তালিকা পাওয়া গেছে, যখন সঠিকভাবে কনফিগার করা হয়েছে । লক্ষণীয়ভাবে:
ফায়ারওয়াল, ডস ফিল্টার, লোড ব্যালেন্সার, বার্নিশ, এনগিনেক্স, পিএইচপি, রেডিস, মেমক্যাচড, মাইএসকিউএল
আপনি যখন জিজ্ঞাসা:
সেরা Magento সার্ভার সেটআপ কি?
আপনার লক্ষ্য ঠিক কি?
- উচ্চ প্রাপ্যতা
- বিশ্বাসযোগ্যতা
- প্রশাসনের সরলতা
- কর্মক্ষমতা
- স্কেলেবিলিটি
পর্যাপ্ত বক্তৃতা, আমরা এটি কীভাবে করব
আংশিকভাবে মিরর দেওয়ার জন্য সার্ভারে দেওয়া উত্তরটি অনুরূপ শিরাতে দোষী হয়। আপনার কাছে আপনার কাছে 3 টি সার্ভার রয়েছে - তাই প্রথমে তাদের যথাসম্ভব যথাযথ দিকনির্দেশনা করুন। আমরা একটি উচ্চ-উপলভ্য সমাধান এড়াব কারণ এটি এই উত্তরের পরিধি থেকে অনেক দূরে।
মাল্টি-সার্ভার কনফিগারেশনের জন্য প্রয়োজনীয় সাব-উপাদানগুলি হ'ল:
- ফায়ারওয়াল
- লোড ব্যালেন্সার
- ওয়েব সার্ভার
- মাইএসকিউএল সার্ভার
- সাধারণ স্টোরেজ
সুতরাং আমরা কয়েকটি সিস্টেমকে বহুমুখী করব। পিসিআই-ডিএসএস সম্মতি প্রতিটি সার্ভারের জন্য একটি ভূমিকা নির্দেশ করে। 5 টি ভূমিকা এবং 3 সার্ভারের সাহায্যে - আপনি অবিলম্বে লঙ্ঘন করবেন। ভার্চুয়ালাইজেশন ব্যবহার করে ম্যাজস্ট্যাক এটিকে ঘিরে ফেলেছে - আপনিও এটি করতে পারেন।
সার্ভার 1: লোড ব্যালেন্সার + ওয়েব সার্ভার
সার্ভার 2: ওয়েব সার্ভার
সার্ভার 3: ডাটাবেস সার্ভার
স্বল্প-বিলম্বিতা এবং উল্লেখযোগ্য নেটওয়ার্ক ব্যান্ডউইদথ (> 1 জিবিপিএস, <125µs) ব্যতীত সাধারণ স্টোরেজ না করে - প্রতিটি মেশিনে কেবল স্টোর রুট ডিরেক্টরি সংরক্ষণ করা এবং রিয়েল-টাইম ব্যবহার করে ionotify
বা ল্যাপস হওয়া ব্যবহার করে তথ্য প্রতিলিপি করা আপনার পক্ষে ভাল its একটি cron
কাজ আবার, আমরা এনএফএসের মতো নেটওয়ার্ক ফাইল সিস্টেমগুলি বা গ্লাস্টার বা ডিআরবিডি-র মতো প্রতিলিপিযুক্ত ব্লক ডিভাইসগুলি এড়াতে পারি - কারণ বিশাল টিউনিং এবং শালীন নেটওয়ার্ক ব্যান্ডউইথ প্রয়োজন।
বার্নিশকে যতটা সম্ভব সামনের দিকে কাছে বসতে হবে। কিন্তু বার্নিশ এসএসএল ডিক্রিপ্ট করতে পারবেন না। সুতরাং এটি একটি এসএসএল টার্মিনেটরের সাথে সংযুক্ত করুন; এনগিনেক্স, পাউন্ড, স্টানেল, স্টাড ইত্যাদি বার্নিশে বিল্ট ইন লোড ব্যালান্সার দুর্দান্ত নয় - তবে এটি 2 টি সার্ভার সেট আপের জন্য পর্যাপ্ত হবে।
এনগিনেক্স + পিএইচপি-এফপিএম ভাল, তবে এনগিনেক্স কুল-সাহায্যের বেশি পরিমাণে পান করবেন না। এটি একটি traditionalতিহ্যবাহী অ্যাপাচি / মোড_এফপি কনফিগারেশনের সাথে প্রায় একইভাবে সঞ্চালন করবে, এনগিনেক্স কেন ব্যবহার করবেন না সে সম্পর্কে এখানে কিছুটা ভাল পড়া । এনগিনেক্স ভাল, খুব ভাল সংক্রামক, তবে এটি অবশ্যই কোনও ম্যাজেন্টো স্টোরের কোনও বাধা নয় - এবং এর জটিলতা এবং দেশীয় ম্যাজেন্টো সহায়তার অভাবের কারণ দেওয়া হয়েছে। বেশিরভাগ নবজাতক সিস্টেম অ্যাডমিনিস্ট্রেটররা অন্য কোনও কিছুর উপরে অ্যাপাচি / মোড_এফপি ব্যবহার করে উপকৃত হবেন। এটি পিএইচপি-এফপিএম ব্যবহারের বিষয়ে প্রত্নতাত্ত্বিক প্রস্তাবের মতো বলে মনে হতে পারে - তবে আমাদের পারফরম্যান্স পরীক্ষাগুলি এনগিনেক্স সমাধানের সাথে পারফরম্যান্সটি মাত্র ~ 7% দ্রুত - যখন সঠিকভাবে কনফিগার করা হয়েছে। উচ্চ-পারফরম্যান্স, নির্ভরযোগ্য এনগিনেক্স / পিএইচপি-এফপিএম সেট-আপের জন্য প্রয়োজনীয় টিউনিং এবং অভিজ্ঞতা এটি অ্যাপাচি / মোড_এফপি ছাড়িয়ে যাওয়ার জন্য যথেষ্ট বিস্তৃত। আপনি যেটি ব্যবহার করতে চান তা আপনার কল।
ডাটাবেস সার্ভারটি মাইএসকিউএল সহজ। তবে যেমনটি আগেই উল্লেখ করা হয়েছে, আপনার যদি একটি উচ্চ রূপান্তরকারী সাইট থাকে তবে একটি মাস্টার / স্লেভ কনফিগারেশনের পরামর্শ দেওয়া হয়। আপনার এই পদ্ধতির অনুসরণ করা উচিত কিনা নিবন্ধটি পড়ে এটি নির্ধারণ করা যেতে পারে ।
তারপরে আপনার পেরিফেরাল ব্যাক-এন্ড ক্যাশে, মেমক্যাচড এবং রেডিস। ছোট স্টোরগুলিতে, একটি মেমক্যাসে ইভেন্ট সেশন এবং অন্যটিতে দ্রুত ব্যাকএন্ড ক্যাশে ভাল পারফরম্যান্সের সুবিধা অর্জন করবে। আমরা ধীর ব্যাকএন্ডে ক্যাশে ট্যাগগুলি সংরক্ষণ করার পক্ষে পরামর্শ দিই না - কারণ এটি যতটা সমস্যা দেয় তার চেয়ে বেশি সমস্যার কারণ হয়। সুতরাং একটি মেমক্যাচড সেটআপের সাহায্যে আপনাকে ক্যাশে ট্যাগিংটি হারাতে হবে । এর পরিবর্তে, আমরা মত একটি কনফিগারেশন ব্যবহার এই ।
রেডিস ম্যাগান্তোর স্থানীয় নয়, তবে কলিন মোলেনহোরের বর্ধনের সাথে - এটি মেমক্যাশের চেয়ে ভাল সমাধান, ক্যাশে ট্যাগগুলি, সেশন স্টোরেজ এবং এমনকি ধ্রুবক ক্যাশে স্টোরেজকে সমর্থন করে - এটি মেমক্যাশের মতো একেবারে অস্থির নয় । তবে এর অসুবিধাও রয়েছে। আমরা বড় আকারের উত্পাদন স্টোরগুলিতে (> 500 অর্ডার / ঘন্টা,> 30 কে অজানা / ঘন্টা) সন্ধান করেছি যে ক্যাশে (এবং ট্যাগগুলি) খুব দ্রুত পূরণ করতে পারে এবং একবারে স্যাচুরেশন পয়েন্টটি আঘাত হানার পরে, এলআরইউ প্রক্রিয়াটি কিছুটা ব্যর্থ হয় ( বিভিন্ন সেটিংস সত্ত্বেও) এবং তাত্ক্ষণিকভাবে একটি বিশাল বাধা সৃষ্টি করে। সুতরাং পুরানো রেকর্ডগুলি নিয়মিত ছাঁটাই করা বুদ্ধিমানের কাজ।
সুতরাং কি জন্য হার্ডওয়্যার ব্যবহার করা উচিত?
ওয়েব সার্ভারস: দ্রুততম সিপিইউ, সর্বাধিক সিপিইউ কোর, 2 জিবি র্যাম / কোর
ডিবি সার্ভারের অনুপাত : ফাস্ট সিপিইউ, দ্রুততম ডিস্ক আই / ও, বেশিরভাগ র্যাম
সুতরাং আপনার 3 টি মেশিনকে বহু-উদ্দেশ্যপূর্ণ করার সময়, সেরা লেআউটটি হ'ল:
সার্ভার 1: এসএসএল টার্মিনেটর -> বার্নিশ -> এনগিনেক্স / অ্যাপাচি> পিএইচপি
সার্ভার 2: এনগিনেক্স / অ্যাপাচি> পিএইচপি, রেডিস, (মাইএসকিউএল স্লেভ)
সার্ভার 3: মাইএসকিউএল
প্রতিটি অ্যাপ্লিকেশন নির্দিষ্ট কনফিগারেশন হিসাবে। ঠিক আছে, এটি আপনার হার্ডওয়্যার নির্দিষ্টকরণ, আপনার স্টোর জটিলতা, আপনার ধরণের এবং দর্শকের প্রকৃতি এবং দর্শকদের নিখুঁত পরিমাণ to