গিটের মতো কাজের চাপের জন্য কীভাবে শালীন এনএফএস কর্মক্ষমতা পাবেন?


8

আমি vagrantবিকাশের জন্য ভার্চুয়ালবক্স সিস্টেমগুলি পরিচালনা করতে আমাদের বিকাশকারীদের ওএসএক্স চালিতদের জন্য একটি সেটআপ পরিচালনা করি ।

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

গিট (এবং সোর্সট্রি সম্পর্কিত সম্পর্কিত সরঞ্জামগুলি) ভাগ করা ডিরেক্টরিতে ওএসএক্স-এ চালিত হয়। এর পারফরম্যান্স অত্যন্ত দুর্বল: এটি চালাতে প্রায় 5 সেকেন্ড পর্যন্ত সময় নেয় git status। মাউন্ট করা এনএফএস ড্রাইভে একটি ছোট সংগ্রহস্থল ক্লোনিং করতে কয়েক মিনিট (লোকাল ড্রাইভে 5-10 সেকেন্ড) সময় লাগতে পারে।

স্পষ্টতই এনএসএফের পারফরম্যান্স সরাসরি স্থানীয় এসএসডি লেখার চেয়ে খারাপ হবে, তবে এনএফএস ভার্চুয়ালবক্সের সাথে একটি ভার্চুয়াল প্রাইভেট নেটওয়ার্ক ইন্টারফেসের উপর দিয়ে চলছে।

আমি কয়েকটা মানদণ্ড চালিয়েছি। প্রথম:

dd if=/dev/zero of=test bs=16 count=16384

প্রতিটি ফলাফল 100 নমুনার উপর ভিত্তি করে।

# local drive
Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
0.990   1.000   1.020   1.021   1.030   1.130

# on the shared NFS drive
Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
6.000   6.278   6.390   6.482   6.570   7.630

# inside the VirtualBox instance
Min. 1st Qu.  Median    Mean 3rd Qu.    Max.
0.3600  0.4800  0.5150  0.5552  0.5400  1.4500

দ্বিতীয় মানদণ্ড:

ioping -c 500

local avg: 6 microseconds
local IOPS: 65.5 k

NFS Latency avg: 703 microseconds
NFS OPS: 1.4 k

স্পষ্টত কিছু বিলম্বিতা অনিবার্য, তবে এটি যথেষ্ট খারাপ যে এটি কিছু সাধারণ কাজকে বেশ বেদনাদায়ক করে তোলে।

ভলিউমের মালিক ডিফল্ট সেটিংস সহ উবুন্টু 12.10 (কোয়ান্টাল) চালাচ্ছেন। ভলিউম মাউন্ট করা সিস্টেমটি ওএসএক্স ম্যাভেরিক্স চলছে।

এই মুহুর্তে মূল এনএফএসডি সংযোগটি ইউডিপিতে চলছে যা ভার্চুয়াল সংযোগের চেয়ে আদর্শ বলে মনে হচ্ছে। আমি নিশ্চিত নই statsdএবং lockdটিসিপি এবং ইউডিপিতে চলছে কিনা ।

আমি asyncপতাকাটি দিয়ে, এবং rwsizeউত্সাহিত সহ আরোহণের চেষ্টা করেছি এবং এতে কিছুটা পার্থক্য হয়নি।

এই পরিবেশে এনএফএসের কর্মক্ষমতা গুরুত্বের সাথে উন্নতি করার জন্য কোন সুযোগ রয়েছে?


যেমন আছে তেমনি, সমস্যার সমাধান করা যাবে না কিন্তু আমরা তা যথেষ্ট নির্বাপিত করেছি (আপ 15 গুন করা উন্নতি) একটি ভিন্ন Virtualbox নেটওয়ার্ক ইন্টারফেস ব্যবহার করার মাধ্যমে: Am79C973পরিবর্তে virtio। এখানে পাঠটি সিস্টেমগুলি কী করছে সে সম্পর্কে আরও ঘনিষ্ঠভাবে নজর দেওয়া উচিত: একটি নির্দিষ্ট পয়েন্টে, বাধাটি মনে হয় ভার্চুয়াল নেটওয়ার্কের কর্মক্ষমতা।
Cera

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

উত্তর:


6

এই গিট সেটিংটি ব্যবহার করার চেষ্টা করুন, যা এনএফএস শেয়ারগুলিতে একটি বিশাল পারফরম্যান্সকে পৃথক করে:

git config core.preloadindex true

কেন এটি একটি পারফরম্যান্স পার্থক্য করে?
ওয়াইল্ডকার্ড

আপনি এই সম্পত্তি এখানে আরও পড়তে পারেন: git-scm.com/docs/git-config#git-config-corepreloadIndex
heyyo

5

এই নিবন্ধে এনএফএসের কার্যকারিতা টিউন করার জন্য কিছু দরকারী টিপস রয়েছে।

বিশেষত nfsstat -rcকতটি 'পুনঃপ্রেরণ পুনরায় চেষ্টা' হয়েছে তা যাচাই করার জন্য ব্যবহার । যদি অনেকগুলি পুনরায় চেষ্টা করা থাকে, তার অর্থ nfsdক্লায়েন্টদের অনুরোধগুলির তুলনায় ডেমনটি থ্রেডের বাইরে চলে গেছে এবং আপনাকে উপলব্ধ থ্রেডের সংখ্যা বাড়িয়ে তুলতে হবে।

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


আপনার প্রতিক্রিয়ার জন্য ধন্যবাদ. গতিশীল বনাম স্থির ভলিউম জিনিসটি আকর্ষণীয় - আমি এমন কিছু পাঠ করেছি যা নির্দেশ করে যে পারফরম্যান্সের পার্থক্যটি একটি পৌরাণিক কাহিনী, যদিও আপনার অভিজ্ঞতা যদি এটির সাহায্য করে তবে এটি চেষ্টা করে যেতে পারে।
Cera

এটি অনেকটা অন্তর্নিহিত শারীরিক স্টোরেজের উপর নির্ভর করে ... খালি জায়গার oডল সহ একটি খালি বিভাজন? পারফরম্যান্স হিট কম লক্ষণীয় হতে পারে। ইতিমধ্যে অনেকগুলি বস্তুর একটি পার্টিশন? ভিবিক্সকে বিকাশের অনুরোধটি পূরণের জন্য ফাঁকা জায়গার ব্লকগুলির জন্য ওএস 'চারপাশে শিকার' করার সময় অপেক্ষা করতে হবে।
পেপলুয়ান

@ পেপলুয়ান - এটি কি চৌম্বকীয় ড্রাইভ, বা এসএসডি ছিল?
বিশ্লেষক

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

0

অন্য একটি জবাব ইতিমধ্যে এনএফএসের পরিসংখ্যানগুলি পরীক্ষা করার উল্লেখ করেছে।

ভার্চুয়ালবক্স ভিএম - বিভিন্ন ভার্চুয়াল চিপসেট এবং মোড (নাটের পরিবর্তে ব্রিজড মোড) এর জন্য বিভিন্ন (ভার্চুয়াল) নিক কনফিগারেশনগুলি চেষ্টা করার উপযুক্ত হতে পারে।

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

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