স্থির ফাইলগুলিকে এনজিএফ-এর সাথে এনজিএক্সের সাথে পরিবেশন করা হচ্ছে?


9

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

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

এনএফএস কি এর জন্য যথেষ্ট দ্রুত? এনএফএস কতগুলি অনুরোধ পরিচালনা করতে পারে তার সীমা আছে? এই পথে যাওয়ার সময় কিছু "আবশ্যক" থাকতে পারে?

বোনাস: এনএফএস ছাড়াও এই সেটআপের জন্য অন্যান্য বিকল্প রয়েছে?

ধন্যবাদ!


কোনও পঠন-অ্যাক্সেস নেই, বা "কেবল" পঠন-অ্যাক্সেস নেই?
পৌষ

ধন্যবাদ! কেবল পঠন-অ্যাক্সেস, কোনও লেখার অ্যাক্সেস নেই।
j0nes

2
7k অনুরোধের জন্য সেকেন্ডে ~ 6,048,00,000 টির জন্য অনুরোধ করা হয়, আপনি যদি কোনও একক এনজিআইএনএক্স সার্ভারে চালিয়ে যাচ্ছেন তবে আমরা (এবং যে সংস্থাগুলি সার্ভারের ক্লাস্টারকে অর্ধেক বোঝার জন্য ব্যবহার করে) আপনার সেটআপটি জানতে আগ্রহী হবে।
এবার Smudge

উত্তর:


2

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

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


2
এনএফএস-এ কোনও এসপিওএফ হতে হবে না
gWaldo

@gWaldo আপনি কীভাবে "একটি কেন্দ্রীয় এনএফএস সার্ভার" সেটআপ করতে পারেন এবং এটি এসপিওএফ নাও থাকতে পারেন?
ক্রিস এস

আপনি এটি অনুধাবন করে এটি করেন, যেমনটি আপনি বলেছেন, একটি কেন্দ্রীয় এনএফএস সার্ভারটি একটি এসপিওএফ, এবং পরিবর্তে একটি এনএফএস ক্লাস্টার প্রয়োগ করতে পছন্দ করে। আমি আসলে আপনার সাথে একমত নই ....
gWaldo

ধন্যবাদ - এই সমাধানটি গ্রহণ করা কারণ আমি মনে করি যে ব্যর্থতার জিনিসটির একক পয়েন্ট (যা আমার প্রধান উদ্বেগ হওয়া উচিত) এড়িয়ে আমি আরএসসিএনসি রুটে যাব।
j0nes

গ্লাস্টারএফএস এবং সিটিডিবি ব্যবহার করে একটি উচ্চ-প্রাপ্যতা দ্বৈত অনূদিত এনএফএস সার্ভার প্রয়োগ করা মোটামুটি সহজ। পারফরম্যান্সের ক্ষেত্রে আমার ক্লাস্টার প্রতি সেকেন্ডে প্রায় 10 ক অনুরোধ পেয়েছিল এবং এটি ঠিক ভালভাবে ক্র্যাক হচ্ছে। কেবল সমস্যাটি হ'ল এনএফএস সার্ভারগুলির প্রচুর র‍্যাম থাকা দরকার।
Alpha01

2

আমি স্থানীয় এইচডি তে এনএফএস ফাইলগুলি ক্যাশে করতে ক্যাশেফিলসড (এবং একটি সাম্প্রতিক লিনাক্স কার্নেল, ক্যাশেফ সহ) ব্যবহার করি । এইভাবে, এনএফএস-এ প্রতিটি পঠন ফাইলটি একটি / var / cache / fs dir এ অনুলিপি করবে এবং পরের পাঠগুলি সেখান থেকে বিতরণ করা হবে, কন্টেন্টটি এখনও বৈধ কিনা তা এনএফএসে কর্নেল চেক করে।

এইভাবে আপনি একটি কেন্দ্রীয় এনএফএস রাখতে পারেন, তবে স্থানীয় ফাইলগুলির কর্মক্ষমতা না হারিয়ে

ফ্রি সাইজ / ইনোডগুলি কোনও কনফিগার করা স্তরে পৌঁছে গেলে ক্যাশেফিলস্ড পুরানো ফাইলগুলি পরিষ্কার করার যত্ন নেবে, যাতে আপনি এনএফএস থেকে অস্বাভাবিক ডেটা এবং এইচডি থেকে সাধারণ অনুরোধগুলি পরিবেশন করতে পারেন

অবশ্যই, আরও সাধারণ অনুরোধগুলি ক্যাশে করতে একটি বার্নিশ ব্যবহার করুন এবং তত্ক্ষণাত্ Nginx / NFS সংরক্ষণ করুন।

এখানে একটি ছোট ক্যাশেফিলসড হাওটো


1

গতি অনেকগুলি বিষয়ের উপর নির্ভর করে:

  • আপনার সার্ভারগুলি কীভাবে এনএফএস টার্গেটের সাথে সংযুক্ত হতে চলেছে? একটি একক দ্বৈত-বন্দর এসএএস ডিস্ক স্থানান্তর গতি 6 গিগাবাইট / গুলি ব্যবহার করতে পারে। আপনি যদি 1 জিগ ইথারনেট (যা থেকে আপনি 20% টিসিপি ওভারহেড বিয়োগ করতে পারেন) ব্যবহার করার পরিকল্পনা করছেন তবে এটি মনে রাখবেন।
  • এনএফএস সার্ভার কোন ধরণের ক্যাশে পেতে চলেছে? আপনি কি প্রচুর ক্যাশে সহ একটি এন্টারপ্রাইজ গ্রেড অ্যারে নিয়ামক ব্যবহার করছেন? এই সেটআপের জন্য পঠন ক্যাশে কী
  • একই সাথে একই ফাইলটিতে কয়টি সার্ভার অ্যাক্সেস করতে যাচ্ছে? এনএফএস লক করা আঘাত করতে পারে - খারাপভাবে

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

সেন্ট্রাল ফাইল সার্ভারের বিকল্প হ'ল আপনার ওয়েব সার্ভারের মধ্যে সিঙ্ক্রোনাইজেশন / প্রতিলিপি ব্যবহার করা (যেমন ক্রিস এস পরামর্শ দেয়)। আরএসআইএনসি বা ডিআরবিডি হতে পারে একটি দুর্দান্ত এবং সাশ্রয়ী মূল্যের পছন্দ।


1

আপনি যদি সেখানে কিছু ক্যাচিং না রাখেন তবে আমি এনএফএসের বিরুদ্ধে পরামর্শ দেব। Nginx ক্যাশে কিছুই চেয়ে ভাল, কিন্তু বার্নিশ ভাল।

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

আপনি যদি এনএফএস রাখেন তবে নিশ্চিত হয়ে নিন যে আপনার অতিরিক্ত কাজ হয়েছে।


এর জন্য কিছুটা আর্কিটেকচার পরিবর্তন দরকার হতে পারে। বার্নিশের মতো ক্যাচিং স্তরটি ব্যবহার করার পাশাপাশি, এনএফএস শেয়ারে থাকা সমস্ত স্ট্যাটিক ফাইলগুলির জন্য একটি অরিজিন পুল সিডিএন সেটআপ ব্যবহার করা ভাল ধারণা। এটি এনএফএস ব্যাকএন্ডে চাপ দেওয়া লোডকে হ্রাস করবে।
Alpha01
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.