আমি কীভাবে লিনাক্স ওয়েব সার্ভারে 1,000,000+ ছোট gziped ফাইলগুলি সর্বাধিক দক্ষতার সাথে সঞ্চয় এবং পরিবেশন করব?


10

আমার কাছে বিশাল স্ট্যাটিক সামগ্রী রয়েছে যা আমাকে লিনাক্স-ভিত্তিক ওয়েবসভারের মাধ্যমে সরবরাহ করতে হবে। এটি এক মিলিয়নেরও বেশি ছোট, জিজেপ ফাইলগুলির একটি সেট। 90% ফাইল 1K এর চেয়ে কম এবং বাকী ফাইলগুলি সর্বাধিক 50K। ভবিষ্যতে, এটি 10 ​​মিলিয়ন জিজিপ ফাইলের মধ্যে বাড়তে পারে।

আমি কি এই বিষয়বস্তুটি কোনও ফাইলের কাঠামোর মধ্যে রেখেছি বা এই সমস্ত বিষয়বস্তু একটি ডেটাবেজে রাখার বিষয়টি বিবেচনা করা উচিত? যদি এটি কোনও ফাইলের কাঠামোতে থাকে তবে আমি কি বড় ডিরেক্টরি ব্যবহার করতে পারি বা আমার আরও ছোট ডিরেক্টরি বিবেচনা করা উচিত?

আমাকে বলা হয়েছিল একটি ফাইল কাঠামো প্রসবের জন্য দ্রুততর হবে তবে অন্যদিকে, আমি জানি যে ফাইলগুলি ডিস্কে অনেক বেশি জায়গা নেবে, যেহেতু ফাইলগুলি ব্লকগুলি 1K এর বেশি হবে।

ডেলিভারি কর্মক্ষমতা সম্পর্কে সেরা কৌশল কী?

হালনাগাদ

রেকর্ডগুলির জন্য, আমি অর্ধ-মিলিয়ন ফাইল সহ উইন্ডোজ 7 এর অধীনে একটি পরীক্ষা করেছি:

এখানে চিত্র বর্ণনা লিখুন

উত্তর:


6

আমি অনুমান করব যে একটি এফএস কাঠামো দ্রুততর হবে, তবে খুব বেশি সংখ্যক ফাইলের ডিরেক্টরি থাকা আপনার এড়াতে আপনার জন্য একটি ভাল ডিরেক্টরি কাঠামোর প্রয়োজন হবে।

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


5

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


4

আমি মনে করি যে এখানে সঠিক উত্তরটি কীভাবে ফাইলগুলি সূচী করা হবে তার উপর নির্ভর করে ... কোনও প্রদত্ত ফাইল যখন বিতরণের জন্য নির্বাচন করা হয় তখন তা নির্ধারণ করে।

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

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

তবে আমার উত্তরটি সরিয়ে নেওয়ার মূল বিষয়টি হ'ল আপনি কোনও প্রতিনিধি পরীক্ষার ডেটা দিয়ে পরীক্ষা না করা এবং ফলাফলগুলি পরিমাপ না করা পর্যন্ত আপনি সত্যই জানেন না যে সবচেয়ে ভাল কী হবে।


1

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


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

1
আমি শুনেছি ছোট ফাইলগুলির জন্য রিসিফগুলি ভাল, তবে তারপরে আমি শুনেছি যে সফ্টওয়্যারটি বজায় রাখে সেই লোকটি কারাগারে (!) তাই রিসিফদের নিকটতম ভবিষ্যতটি বেশ অনিশ্চিত। আমি ব্যক্তিগতভাবে এক্সটি ৪, এবং এক্সএফএসের জন্য দ্বিতীয় পছন্দ হিসাবে যাব। বড় ফাইলগুলির জন্য কি এক্সএফএস সেরা নয়?
এড

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