কারও কাছে কি এমন কোনও সূত্র আছে, বা তাদের পরিবেশের কিছু নমুনা ডেটা রয়েছে যা আমাকে অনুমান করতে সহায়তা করতে পারে যে ডেটাপয়েন্টে গ্রাফাইট দ্বারা কত ডিস্ক স্পেস ব্যবহার করা হবে?
কারও কাছে কি এমন কোনও সূত্র আছে, বা তাদের পরিবেশের কিছু নমুনা ডেটা রয়েছে যা আমাকে অনুমান করতে সহায়তা করতে পারে যে ডেটাপয়েন্টে গ্রাফাইট দ্বারা কত ডিস্ক স্পেস ব্যবহার করা হবে?
উত্তর:
whisper-info.py
ফাইলের আকার সহ প্রতিটি ফাইল কী এবং কীভাবে একত্রিত হয় সে সম্পর্কে আপনাকে প্রচুর অন্তর্দৃষ্টি দেয়।
তবে এটি বিদ্যমান বিদ্যমান ফিসফার ফাইলগুলির জন্য কেবল কার্যকর।
আপনি যখন স্কিমাটি স্থাপনের আগে ভবিষ্যদ্বাণীপূর্ণ আকার পরিবর্তন করতে চান, তখন হুইস্পার ক্যালকুলেটরটি চেষ্টা করুন, যেমন https://gist.github.com/jjmaestro/5774063 এ উপলব্ধ
সম্পাদনা করুন:
উদাহরণ চাইলে ...
storage_schema:
{
:catchall => {
:priority => "100",
:pattern => "^\.*",
:retentions => "1m:31d,15m:1y,1h:5y"
}
}
আমার ফাইলটি দেখছি applied-in-last-hour.wsp
, ls -l
ফলন হচ্ছে
-rwxr-xr-x 1 root root 4415092 Sep 16 08:26 applied-in-last-hour.wsp
এবং whisper-info.py ./applied-in-last-hour.wsp
ফলন
maxRetention: 157680000
xFilesFactor: 0.300000011921
aggregationMethod: average
fileSize: 4415092
Archive 0
retention: 604800
secondsPerPoint: 10
points: 60480
size: 725760
offset: 52
Archive 1
retention: 2678400
secondsPerPoint: 60
points: 44640
size: 535680
offset: 725812
Archive 2
retention: 157680000
secondsPerPoint: 600
points: 262800
size: 3153600
offset: 1261492
সুতরাং, মূলত আপনি প্রতি হোস্ট প্রতি রিটেনশন-পিরিয়ড-সেগমেন্ট অনুসারে আপনার হোস্টগুলিকে একত্রিত করে, সিস্টেমগুলির একটি ফ্যাক্টর দ্বারা গুণিত করুন যা আপনি এটি প্রয়োগ করতে চান, আপনি যে নতুন পরিসংখ্যান ট্র্যাক করতে চলেছেন তার ফ্যাক্টরটি। তারপরে আপনি যে পরিমাণ স্টোরেজ থাকবেন এবং কমপক্ষে দ্বিগুণ করুন (কারণ আমরা সঞ্চয়স্থান কিনছি, এবং আমরা জানি যে আমরা এটি ব্যবহার করব ...)
ls -l
, তাই আমি এটিকে বাইট হিসাবে নিতে পারি। আমি যখন ডাব্লুএসপি ফাইলের মধ্যে সংরক্ষণাগারগুলির মাপগুলি জুড়েছি (হিসাবে রিপোর্ট করা হয়েছে whisper-info.py
), তারা সামগ্রিক .wsp ফাইলের আকারের কাছে চলে আসে (বাকী আমি ধরে নিই মেটাডেটা এবং এ জাতীয়। সকলের জন্য ফাইলের আকার হওয়া উচিত) সময়, ডেটা নিম্ন ডেটা রেজোলিউশনে নেমে যাওয়ার সাথে সাথে পুরানো ডেটা পয়েন্টগুলি বাতিল করা হয়
ServerCount * MetricCount * 4.5MBytes
স্ট্যাটাসডের ডকুমেন্টেশনে তারা ডেটা ধরে রাখার নীতিটির উদাহরণ দেয় ।
প্রতিস্থাপনগুলি 10s:6h,1min:7d,10min:5y
হ'ল যা 2160 + 10080 + 262800 = 275040 ডেটা পয়েন্ট এবং তারা একটি সংরক্ষণাগার আকার দেয় 3.2 মাইবি ।
রৈখিক সম্পর্ক ধরে নেওয়া, এটি প্রতি ডাটা পয়েন্টে প্রায় 12.2 বাইট হবে ।
গ্রাফাইটের সাথে সরাসরি অভিজ্ঞতা নেই, তবে আমি ক্যাকটি বা আরআরডি বা চালিত টাইম-রোলওভার দ্বারা চালিত যে কোনও কিছুর জন্য আমরা একই যুক্তিটি কল্পনা করেছি (গ্রাফাইট আরআরডি অভ্যন্তরীণভাবে ব্যবহার করে না তবে স্টোরেজ যুক্তিকে তুলনীয় বলে মনে হয়।)
দ্রুত উত্তরটি "সম্ভবত আপনার মনে হবে আপনার প্রয়োজন হবে এতটা জায়গা নয়।"
দীর্ঘ উত্তরটিতে কিছু সাইট-নির্দিষ্ট গণিত জড়িত। আমাদের মনিটরিং সিস্টেমের জন্য (ইন্টারম্যাপার) আমি ধরে রাখার সময়সীমা, রেজোলিউশন এবং ডেটাপয়েন্টের আকারটি বের করি, কিছু গুণিতক করি এবং ওভারহেড যুক্ত করি।
উদাহরণ হিসাবে আমি ডিস্ক স্পেস ব্যবহার করব - আমরা ৩০ দিনের জন্য 5 মিনিটের নির্ভুলতা, আরও 60 দিনের জন্য 15 মিনিটের নির্ভুলতা এবং তারপরে আরও 300 দিনের জন্য এক ঘণ্টার স্পষ্টতা সহ চিত্রগুলি সংরক্ষণ করি এবং আমরা একটি 64 ব্যবহার করছি -বিট (8 বাইট) এটি সঞ্চয় করতে পূর্ণসংখ্যা:
প্রতি স্যাম্পল প্রতি 8 বাইট যা প্রায় 173KB, স্টোর স্টোরেজ ইনডেক্সিংয়ের জন্য স্বাস্থ্যকর ওভারহেড এবং এর মতো এটি একটি পার্টিশনের ডিস্ক ব্যবহারের ডেটা (অত্যধিক প্রতিরোধের দিকে ঝুঁকিতে কোনও ত্রুটি) প্রায় 200KB এ নিয়ে আসে।
বেস মেট্রিকগুলি থেকে আমি গড়ে "মেশিন প্রতি" আকার (10 ডিস্ক পার্টিশন, অদলবদল স্থান, র্যাম, লোড গড়, নেটওয়ার্ক ট্রান্সফার এবং অন্যান্য কয়েকটি জিনিস) নিয়ে কাজ করতে পারি - মেশিনে প্রায় 5MB কাজ করে।
আমি চূড়ান্ত সংখ্যার শীর্ষে একটি স্বাস্থ্যকর 10% যোগ করি এবং গোল করি, সুতরাং আমি প্রতি মেশিনে 6 এমবিতে জিনিসগুলি আকার করি।
তারপরে আমি চার্টিংয়ের জন্য মেট্রিক্স ডেটা সঞ্চয় করার জন্য আমি যে 1TB স্থান রেখেছিলাম তার দিকে তাকিয়ে বলি "হ্যাঁ, আমরা পুরোটা বাড়তে না পারলে আমি সম্ভবত আমার জীবদ্দশায় স্টোরেজটি ছাড়ে না!" :-)
আমার কাছে 70 টি নোড রয়েছে যা প্রচুর ডেটা তৈরি করে। কার্বন / হুইস্পার ব্যবহার করে একটি নোড একা তৈরি করেছে 91 কে ফাইল (নোড একাধিক স্কিমার উত্পন্ন করে যার প্রত্যেকটিতে একাধিক কাউন্টার এবং ভেরিয়েবল ক্ষেত্র রয়েছে যা নির্বাচনযোগ্য হতে হবে eg যেমন: (নোডনাম) ((স্কিমা) ((কাউন্টার) ( ) .... ইত্যাদি)
এটি আমার চাইলে গ্রাফ প্লট করার জন্য প্রয়োজনীয় গ্রানুলারিটি সরবরাহ করেছিল। বাকি n৯ টি নোড পপুলেট করার জন্য স্ক্রিপ্টটি চালানোর পরে আমার ডিস্কে ১.৩ টিবি ডেটা ছিল। এবং এটি কেবল 6 ঘন্টা মূল্যবান ডেটা / নোড। আমার কাছে যা ঘটে তা হ'ল আসল ফ্ল্যাট সিএসভি ফাইল 6hrs মূল্যের ডেটা প্রায় 230Mb / নোড। 70 টি নোড ~ 16Gb ডেটা। আমার স্টোরেজ-স্কিমাটি 120 এর দশক: 365 ডি।
আমি ডাটাবেসগুলিতে তুলনামূলকভাবে নতুন, তাই আমি হয়ত কিছু ভুল করছি, তবে আমি অনুমান করছি যে এটি প্রতিটি নমুনার জন্য সমস্ত ওভারহেড।
সুতরাং এটি একটি মজাদার পরীক্ষা ছিল, তবে আমি মনে করি না যে আমি যে ধরণের ডেটা সঞ্চয় করছি তার জন্য ফিসফিসি ব্যবহার করা বোধগম্য। মঙ্গোডিবি আরও ভাল দ্রাবক হিসাবে মনে হয় তবে গ্রাফানার ব্যাকএন্ড হিসাবে এটি কীভাবে ব্যবহার করতে হবে তা আমার খুঁজে বের করতে হবে।