এনগিনেক্স এত তাড়াতাড়ি কেন?


31

র‌্যাম্বলারের মতো কোনও সাইট কীভাবে এত দ্রুত গতিশীল সামগ্রী সরবরাহ করে? ইয়াহুর চেয়েও দ্রুত (যা আমার দেশে একটি সার্ভার রয়েছে- এসই এশিয়া; র‌্যাম্বার নেই)।

এটি কি খাঁটি Nginx এর ক্ষমতা? এই ধরনের ক্ষমতা সম্পর্কে আমি জানতে কোথায় খুঁজছি?

খুব এখানে একজন নবাগত, আমি বিশ্বাস করি যে সার্ফারফল্ট ডট কম যদি এনগিনেক্স থেকে পরিবেশন করা হয় তবে আইআইএস 7 দ্রুত হবে (ধরে নিবেন ডিবি অ্যাক্সেসের সময় উভয় ক্ষেত্রে একই হবে)। এটা কি ন্যায্য ধারণা?

সম্পাদনা:

আইআইএস of এর সামনে নিগিনেক্স ব্যবহার করে কার্লের পোস্ট


নোট করুন যে সার্ভারফ্লট ডট কম ইতিমধ্যে এনগিনেক্স ব্যবহার করেছে ( ওয়াপ্যালিজার অনুযায়ী )। : পি
উইলস

উত্তর:


26

আপনি এই উপস্থাপনাটি এনজিনেক্স ইন্টার্নালগুলির সংক্ষিপ্তসার জন্য দেখতে পাবেন । মূল পার্থক্য হ'ল অ্যাপাচি-র মত থ্রেড ব্যবহার না করে অনুরোধগুলির অ্যাসক্রোনাস হ্যান্ডলিং। আপনার এই ডকুমেন্টেশনটিও একবার দেখে থাকতে পারে ।


2
Nginx এর আর্কিটেকচার এবং C10K সমস্যা হিসাবে ভাল উত্তর। যাইহোক, আমি ওপিএস প্রশ্নটি বোঝা পৃষ্ঠা লোডের গতি সম্পর্কে হতে হবে, যা এনজিনেক্সের সাথে খুব কমই আছে।
জেস্পার এম

"অ্যাসিনক্রোনাস" আসলে কী বোঝায়? আমি সবসময়ই ভাবছিলাম যে এর অর্থ একটি পৃথক থ্রেডে মৃত্যুদন্ড কার্যকর করা হয়েছে।
ইভান

অ্যাসিঙ্ক্রোনাস মানে নিগিনেক্স সর্বদা প্রক্সি হিসাবে কাজ করে, এমনকি পিএইচপি: এনগিনেক্স এইচটিটিপি অনুরোধটি পান, পিএইচপি সার্ভারে প্রেরণ করুন তবে লক করে না / এইচটিটিপি প্রতিক্রিয়া পাঠানোর জন্য অপেক্ষা করে না। যে কারণে আপনি উচ্চ ট্র্যাফিক ওয়েবসাইটের জন্য একটি (গতি, সিপিইউ / র‌্যাম) পার্থক্য দেখেন। তবে কয়েকটি অনুরোধের জন্য কোনও পারফরম্যান্স লাভ নেই (যা ইন্টারনেটের 95%
বিষয়কে

21

র‌্যাম্বলারের মতো কোনও সাইট কীভাবে এত দ্রুত গতিশীল সামগ্রী সরবরাহ করে? ... এটি কি নিখুঁতভাবে Nginx এর ক্ষমতা? এই ধরনের ক্ষমতা সম্পর্কে আমি জানতে কোথায় খুঁজছি?

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

কম গুরুত্বপূর্ণ অংশটি হ'ল সার্ভার-সাইড গতি , অর্থাৎ এইচটিএমএল তৈরি করতে সময় লাগে। আরও গুরুত্বপূর্ণ অংশটি হ'ল 'ফ্রন্টএন্ড' পারফরম্যান্স , যার দ্বারা আমি এইচটিএমএল, সিএসএস, জাভাস্ক্রিপ্ট এবং চিত্রগুলি বোঝাতে চাইছি এর সংখ্যা, এর আকার এবং এগুলির যথাযথ বিতরণ (এইচটিটিপি সংক্ষেপণ, ক্যাশিং)।

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

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

আপনি ওয়েবপেজটেস্ট.আর.গোষ্ঠীর পরীক্ষকের মাধ্যমে সাইটগুলি চালনা করতে পারেন - যা আপনাকে এই সাইটের সম্মুখভাগের অংশের জন্য ভাল অনুভূতি দেবে এবং কেন সেগুলি দ্রুত বা ধীর।

আমি বিশ্বাস করি যে Nginx থেকে পরিবেশন করা হলে সার্ভারফল্ট ডটকমটি আইআইএস 7 (ডিবি অ্যাক্সেসের সময় উভয় ক্ষেত্রে একই হবে) ধরে নিয়ে অনেক দ্রুত হবে। এটা কি ন্যায্য ধারণা?

নাহ, এটি একটি ভুল বোঝাবুঝি। :-)


18

সম্পূর্ণ অ্যাপ্লিকেশন / সার্ভারগুলিকে ভারসাম্য বজায় রাখতে এবং স্থির সামগ্রীটি পরিপূর্ণ সার্ভার হিসাবে ব্যবহার করার চেয়ে Nginx প্রায়শই বেশি ব্যবহৃত হয়।

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

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

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


3

স্ট্র্যাটিক কনটেন্ট সার্ভার / গতিশীল কন্টেন্ট জেনারেটরের সামনে যুক্তিযুক্ত লোড ব্যালান্সিংয়ের সাথে সম্ভবত এনগিনেক্স তবে আরও স্কেলেবল আর্কিটেকচার। যদি আপনি সত্যিই দুর্দান্ত-শেষ ব্যবহারকারী অভিজ্ঞতা পেতে চান তবে আপনার সামগ্রীটি সম্ভবত 'আইবোলস'-এর কাছাকাছি স্থানান্তরিত করা উচিত - কিছু সিডিএন ব্যবহার করুন।

যদি আপনি এই বিষয়ে আগ্রহী হন - এটি এবং এটি এবং .. ভাল - গুগল; -] দেখুন


2

সেরা সাইটগুলি অ্যাপ্লিকেশন ত্বরণকারী যেমন জিউসের জেডএক্সটিএম ব্যবহার করে - তারা অনেক ক্ষেত্রে গতিশীল প্রতিক্রিয়াগুলি ক্যাশে করতে পারে যা স্পষ্টতই দুর্দান্ত উপকারী of



0

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

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

স্পষ্টতই সার্ভারে বিভিন্ন ধরণের ক্যাশে করা বড় পার্থক্য করে তবে এই সমস্ত সাইটগুলি ইতিমধ্যে আমার জানা হিসাবে এটি করে।

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