এসএসডি সিস্টেমে পারফরম্যান্সের উপর ভারী লেখার ক্রিয়াকলাপ


13

আমি লক্ষ্য করেছি যে আমি যখন ভারী লেখার অ্যাপ্লিকেশন করি তখন পুরো সিস্টেমটি ধীর হয়ে যায়। এটি আরও পরীক্ষা করতে আমি এটি (অপেক্ষাকৃত) লো-সিপিইউ, উচ্চ ডিস্ক ক্রিয়াকলাপ করতে চালিয়েছি:

john -incremental > file_on_SSD

এটি আমার সিস্টেম ডিস্কের একটি ফাইলে প্রতি সেকেন্ডে কয়েক হাজার স্ট্রিং পাম্প করে।

এটি করার পরে, মাউস পিছিয়ে যায়, টিটিওয়াইগুলি প্রতিক্রিয়াহীন হয়ে যায়, অ্যাপ্লিকেশনগুলি "বিবর্ণ" হয়ে যায় এবং সাধারণত পুরো কম্পিউটারটি অকেজো হয়ে যায়। আমি যখন অবশেষে C + C নিয়ন্ত্রণ করতে পারি তখন johnসিস্টেমটি কয়েক সেকেন্ড পরে পুরো শক্তিতে ফিরে আসে।

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

আমার মূল ওএস ডিস্কটি এক্সটি 4 সহ বেশ দ্রুত এসএসডি ( ওসিজেড অ্যাগ্রিলিটি 60 জিবি )। আমি যদি johnএক্সটি 4 দিয়ে একটি যান্ত্রিক ডিস্কের আউটপুট লিখি , তবে রেটটি অনেক ধীরে ধীরে হলেও এসএসডি প্রতি সেকেন্ডে ,000 42,000 শব্দ করে, যান্ত্রিক 8,000 ডাব্লু / এস করে) একই ধীর-ডাউনগুলি অনুভব করি না। থ্রুপুট প্রাসঙ্গিক হতে পারে। যান্ত্রিক ডিস্কটিরও সিস্টেমের সাথে কোনও সম্পর্ক নেই। এটি কেবল তথ্য।

এবং আমি কার্নেলটি ২.6.৩৫-২ ব্যবহার করছি তবে আমি সম্ভবত এই এসএসডি পেয়েছি বলে আমি এই সমস্যাটি লক্ষ্য করেছি যখন আমি সম্ভবত 3131 বা সেই সময়ের কাছ থেকে কিছু ব্যবহার করছি।

সুতরাং মন্দার কারণ কি? এক্সটি 4 ইস্যু? কার্নেল ইস্যু? এসএসডি ইস্যু? উপরের সবগুলো? অন্যকিছু?

আপনি যদি মনে করেন আমার অতিরিক্ত পরীক্ষা চালানো দরকার, তবে আমাকে কী করতে হবে তা বলার জন্য একটি মন্তব্য ফেলে দিন এবং আমি ফলাফলটি প্রশ্নের সাথে যুক্ত করব।


আপনি এসএসডি কী ব্যবহার করছেন তাও উল্লেখ করা উচিত। সমস্ত এসএসডি সমান নয়।
ক্রিশ্চিয়ান সিউপিতু

@ ক্রিশ্চিয়ান: যুক্ত হয়েছে। এটি একটি ওসিজেড তত্পরতা।
অলি ২

উত্তর:


12

এটি কিছুক্ষণের জন্য একটি পরিচিত সমস্যা হয়ে দাঁড়িয়েছে। বিটিআরএফএসের মতো এসএসডি-টিউনড এফএস ব্যবহার করা সাহায্য করতে পারে, তবে এটি নাও পারে।

শেষ পর্যন্ত, এটি আইও সিডিউলার / মেমরি ম্যানেজমেন্ট সিস্টেমগুলিতে একটি বাগ। সম্প্রতি, কিছু প্যাচ রয়েছে যা লক্ষ্য করে এই সমস্যাটি সমাধান করবে। স্থির দেখুন : লিনাক্স ডেস্কটপ প্রতিক্রিয়াশীলতা সমস্যা?

এই প্যাচগুলি শেষ পর্যন্ত মূল লাইন কার্নেলটিতে প্রবেশ করতে পারে, তবে আপাতত, আপনি যদি এই সমস্যাটি সমাধান করতে চান তবে আপনাকে সম্ভবত নিজের কার্নেলটি সংকলন করতে হবে।


2
যদি আমি সঠিকভাবে বুঝতে পারি তবে এর জন্য প্যাচগুলি লিনাক্স ২.6.৩7 এ চলে যাওয়া উচিত ।
জানু

1

লিনাক্সের অধীনে এসএসডি কার্যকারিতা উন্নত করার জন্য আপনি কয়েকটি জিনিস যাচাই করতে পারেন।

  1. 'Noatime' এ মাউন্ট পয়েন্ট সেট করুন। অতিরিক্ত ক্রিয়াকলাপ আপডেট করার সময় অ্যাক্সেসের সময়গুলি সাধারণত বেশিরভাগ ব্যবহারের ক্ষেত্রে নষ্ট হয়। বিশেষত একটি ফাইলে ক্রমাগত একক লাইন পাম্প করার ক্ষেত্রে, আপনি প্রতিটি অ্যাক্সেসের জন্য ফাইল সিস্টেমে একাধিক আপডেট জোর করে চলেছেন।

  2. লিফটটি পরীক্ষা করুন। বেশিরভাগ ডিস্ট্রোসের জন্য ডিফল্ট লিফট এলোমেলো অ্যাক্সেস স্পিনিং প্ল্যাটারগুলির জন্য সেট আপ করা হয়। এসএসডি-র অতিরিক্ত যুক্তির প্রয়োজন নেই, তাই লিফটকে নুপে সেট করা হার্ডওয়্যারকে লেখার ব্যবস্থা করে দিয়ে কর্মক্ষমতা উন্নত করতে পারে।

  3. লেখার মাধ্যমে ভি লিখন-ব্যাক ক্যাচিং। এটি খানিকটা রহস্যজনক তবে আপনি hdparmডিভাইসটির সাথে ব্যবহৃত ক্যাচিং পদ্ধতিটি পরীক্ষা করতে পারেন । রাইটিং-ব্যাক ক্যাচিং লেখার মাধ্যমে তুলনায় এসএসডি পারফরম্যান্সে ইতিবাচক প্রভাব ফেলতে পারে।


আপনি কি এনজওয়ালফিন লিফট স্থাপন সম্পর্কে আরও কিছুটা লিখতে পারেন?
গ্রেজগোর্জ ওয়েয়ারজোইইকি

দেখা যাচ্ছে যে এসএসডি-অভিনয় ভাল ছিল। এটি যে সব ভোগ করে তা।
থরবজর্ন রাভন অ্যান্ডারসন

0

আপনার ফাইল লোডের জন্য ফাইল ক্যাচিং সম্ভবত ভুলভাবে সুর করা হয়েছে। দুর্ভাগ্যক্রমে, লিনাক্স কার্নেল এটিকে স্বয়ংক্রিয়ভাবে পরিচালনা না করার জন্য যথেষ্ট বোকা এবং আপনার প্রচুর র‍্যাম থাকলে এবং পর্যাপ্ত ব্লক ডিভাইসগুলি ধীর করতে পারলে ডিফল্টগুলি খুব খারাপ। বিশদ জানতে https://lonesysadmin.net/2013/12/22/better-linux-disk-caching-performance-vm-dirty_ratio/ দেখুন See

আমি /etc/sysctl.confহয় পরিবর্তন করার চেষ্টা করার পরামর্শ দিই

vm.dirty_background_ratio = 3
vm.dirty_ratio = 6

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

আরেকটি সম্ভাবনা হ'ল ক্যাচিং বাড়ানো কিন্তু যদি আপনার প্রক্রিয়াটি অবিচ্ছিন্নভাবে সবসময় নতুন ডেটা লিখতে থাকে তবে যদি আপনি ক্যাশে পূর্ণ হয় তবে আপনি খুব খারাপ লেটেন্সিতে আঘাত হানবেন। আপনি যদি এটি চেষ্টা করতে চান তবে আপনি এর মতো কিছু করতে পারেন

vm.dirty_background_ratio = 5
vm.dirty_ratio = 80

নোট করুন যে *_ratioসেটিংস উপলব্ধ র‌্যামের শতাংশের উল্লেখ করে। আপনি যদি আরও ভাল নিয়ন্ত্রণ চান তবে *_bytesসেটিংস ব্যবহার করুন । আমি ব্যক্তিগতভাবে আমার ওয়ার্কস্টেশনের জন্য নিম্নলিখিত কনফিগারেশন ব্যবহার করি:

vm.dirty_background_bytes = 50000000
vm.dirty_bytes = 200000000

এটি ব্যাকগ্রাউন্ড রচনার ক্যাশে 50 এমবিতে সীমাবদ্ধ করে এবং 200 এমবি ক্যাশে থাকলে সিঙ্ক্রোনাস লিখনকে বাধ্য করে।

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