লিনাক্সে জেবিডের পারফরম্যান্সে এসএএস মাল্টিপথ উন্নত করা


10

আমি লিনাক্স সহ কিছু সান হার্ডওয়্যারে স্টোরেজ সেটআপটি অপ্টিমাইজ করার চেষ্টা করছি। যেকোনো বুদ্ধিই চমৎকারভাবে গ্রহন করা হবে।

আমাদের কাছে নিম্নলিখিত হার্ডওয়্যার রয়েছে:

  • সান ব্লেড এক্স 6270
  • 2 * এলএসআইএসএএস 1010 ই এস এ এস কন্ট্রোলার
  • 2 টি সান জে 4400 জেবিওডি 1 টিবি ডিস্ক সহ (জেবিডে 24 ডিস্ক)
  • ফেডোরা কোর 12
  • এফসি 13 থেকে 2.6.33 রিলিজ কার্নেল (এফসি 12 থেকে সর্বশেষ 2.6.31 কার্নেলের সাহায্যেও চেষ্টা করা হয়েছে)

এসএএস হার্ডওয়্যারটির জন্য এখানে ডেটাশিটটি রয়েছে:

http://www.sun.com/storage/storage_networking/hba/sas/PCIe.pdf

এটি পিসিআই এক্সপ্রেস 1.0a, 8 এক্স লেন ব্যবহার করছে। প্রতি লেনে 250 এমবি / সেকেন্ডের ব্যান্ডউইথ সহ, আমাদের এসএএস নিয়ামক প্রতি 2000 এমবি / সেকেন্ড করতে সক্ষম হওয়া উচিত।

প্রতিটি নিয়ামক প্রতি বন্দরে 3 গিগাবাইট / সেকেন্ড করতে পারে এবং দুটি 4 টি পোর্ট পিএইচওয়াই থাকতে পারে। আমরা উভয় PHY গুলি একটি নিয়ন্ত্রণকারী থেকে একটি JBOD- তে সংযুক্ত করি। সুতরাং JBOD এবং নিয়ামকের মধ্যে আমাদের কাছে 2 পিএইচওয়াই * 4 এসএএস পোর্ট রয়েছে * 3 জিবি / সেকেন্ড = 24 জিবি / সেকেন্ড ব্যান্ডউইথ, যা পিসিআই এক্সপ্রেস ব্যান্ডউইথের চেয়ে বেশি।

লেখার ক্যাচিং সক্ষম করার সাথে এবং বড় লেখার সময় প্রতিটি ডিস্ক প্রায় 80 এমবি / সেকেন্ড (ডিস্কের শুরুর কাছাকাছি) বজায় রাখতে পারে। 24 টি ডিস্ক সহ, এর অর্থ আমাদের জেবিওডি প্রতি 1920 এমবি / সেকেন্ড করতে সক্ষম হওয়া উচিত।

গুণক
  rr_min_io 100
  uid 0
  পাথ_গ্রুপিং_পলিসি মাল্টিবাস
  ব্যর্থব্যাক ম্যানুয়াল
  পথ_নির্বাচক "রাউন্ড-রবিন 0"
  আরআর_ওয়েট অগ্রাধিকার
  ওরফে সোমালিয়াস
  no_path_retry সারি
  মোড 0644
  জিড 0
  wwid somewwid
}

আমি rr_min_io এর জন্য 50, 100, 1000 এর মান চেষ্টা করেছি, তবে এটি তেমন কোনও পার্থক্য বলে মনে হচ্ছে না।

Rr_min_io বিভিন্ন পরিবর্তনের পাশাপাশি আমি একই সাথে একই পিএইচওয়াইতে সমস্ত লিখতে রোধ করার জন্য ডিডি শুরু করার মধ্যে কিছুটা বিলম্ব যোগ করার চেষ্টা করেছি, তবে এতে কোনও পার্থক্য হয়নি, তাই আমি মনে করি যে আমি / ওগুলি সঠিকভাবে ছড়িয়ে যাচ্ছে।

/ প্রোচার / বিঘ্ন অনুসারে, এসএএস নিয়ন্ত্রণকারীরা একটি "আইআর-আইও-এপিক-ফেস্টোই" ইন্টারপ্রেট স্কিম ব্যবহার করছে। কোনও কারণে মেশিনে কেবল কোর # 0 এই বিঘ্নগুলি পরিচালনা করে। প্রতিটি এসএএস নিয়ামকের জন্য বাধা হ্যান্ডেল করার জন্য একটি পৃথক কোর বরাদ্দ করে আমি পারফরম্যান্সকে কিছুটা উন্নত করতে পারি:

প্রতিধ্বনি 2> / proc / ইরক / 24 / এসএমপি_ফিনিটি
প্রতিধ্বনি 4> / proc / irq / 26 / এসএমপি_ফিনিটি

ডিস্কে লেখার জন্য ডিডি ব্যবহার করে "ফাংশন কল বিঘ্ন ঘটায়" উত্পন্ন হয় (এগুলি কী তা কোনও ধারণা নেই), যা कोर # 4 দ্বারা পরিচালিত হয়, তাই আমি অন্যান্য প্রক্রিয়াগুলিও এই কোর থেকে দূরে রাখি।

আমি 48 ডিডি চালাচ্ছি (প্রতিটি ডিস্কের জন্য একটি), তাদেরকে এমনভাবে বাধা দিয়ে কাজ করে না এমন কোরগুলিকে নিয়োগ করে:

টাস্কসেট-সি সামোরোর ডিডি যদি = / দেব / শূন্য = / দেব / ম্যাপার / এমপাথেক্স অফলাগ = প্রত্যক্ষ বিএস = 128 এম

oflag = সরাসরি কোনও ধরণের বাফার ক্যাশে জড়িত হওয়া থেকে বাধা দেয়।

আমার কোরগুলির কোনওটিই বাহ্যিক বলে মনে হচ্ছে না। বাধা নিয়ে কাজ করা কোরগুলি বেশিরভাগই অলস এবং অন্যান্য সমস্ত কোর যেমন আশা করবে তেমন I / O এর জন্য অপেক্ষা করছে।

সিপিইউ 0: 0.0% আমাদের, 1.0% সিআই, 0.0% এনআই, 91.2% আইডি, 7.5% ওয়া, 0.0% হাই, 0.2% সি, 0.0% সেন্ট
সিপিই 1: 0.0% আমাদের, 0.8% সিআই, 0.0% এনআই, 93.0% আইডি, 0.2% ডাব্লু, 0.0% হাই, 6.0% সিআই, 0.0% সেন্ট
সিপিইউ 2: 0.0% আমাদের, 0.6% সিআই, 0.0% এনআই, 94.4% আইডি, 0.1% ডাব্লু, 0.0% হাই, 4.8% সিআই, 0.0% সেন্ট
সিপিইউ 3: 0.0% আমাদের, 7.5% সিআই, 0.0% এনআই, 36.3% আইডি, 56.1% ওয়া, 0.0% হাই, 0.0% সি, 0.0% সেন্ট
সিপিইউ 4: 0.0% আমাদের, 1.3% সিআই, 0.0% এনআই, 85.7% আইডি, 4.9% ওয়া, 0.0% হাই, 8.1% সিআই, 0.0% সেন্ট
সিপিই 5: 0.1% আমাদের, 5.5% সিআই, 0.0% এনআই, 36.2% আইডি, 58.3% ওয়া, 0.0% হাই, 0.0% সি, 0.0% সেন্ট
সিপিইউ 6: 0.0% আমাদের, 5.0% সিআই, 0.0% এনআই, 36.3% আইডি, 58.7% ওয়া, 0.0% হাই, 0.0% সিআই, 0.0% সেন্ট
সিপিইউ 7: 0.0% আমাদের, 5.1% সিআই, 0.0% এনআই, 36.3% আইডি, 58.5% ওয়া, 0.0% হাই, 0.0% সি, 0.0% সেন্ট
সিপিইউ 8: 0.1% আমাদের, 8.3% সিআই, 0.0% এনআই, 27.2% আইডি, 64.4% ওয়া, 0.0% হাই, 0.0% সিআই, 0.0% সেন্ট
সিপিইউ 9: 0.1% আমাদের, 7.9% সিআই, 0.0% এনআই, 36.2% আইডি, 55.8% ওয়া, 0.0% হাই, 0.0% সি, 0.0% সেন্ট
সিপিই 10: 0.0% আমাদের, 7.8% সিআই, 0.0% এনআই, 36.2% আইডি, 56.0% ওয়া, 0.0% হাই, 0.0% সি, 0.0% সেন্ট
সিপিইউ 11: 0.0% আমাদের, 7.3% সিআই, 0.0% এনআই, 36.3% আইডি, 56.4% ওয়া, 0.0% হাই, 0.0% সি, 0.0% সেন্ট
সিপিইউ 12: 0.0% আমাদের, 5.6% সিআই, 0.0% এনআই, 33.1% আইডি, 61.2% ওয়া, 0.0% হাই, 0.0% সি, 0.0% সেন্ট
সিপিইউ 13: 0.1% আমাদের, 5.3% সিআই, 0.0% এনআই, 36.1% আইডি, 58.5% ওয়া, 0.0% হাই, 0.0% সি, 0.0% সেন্ট
সিপিইউ 14: 0.0% আমাদের, 4.9% সিআই, 0.0% এনআই, 36.4% আইডি, 58.7% ওয়া, 0.0% হাই, 0.0% সিআই, 0.0% সেন্ট
সিপিইউ 15: 0.1% আমাদের, 5.4% সিআই, 0.0% এনআই, 36.5% আইডি, 58.1% ওয়া, 0.0% হাই, 0.0% সি, 0.0% সেন্ট

এই সমস্ত দেওয়া, "dstat 10" চালিয়ে রিপোর্ট করা থ্রুপুটটি 2200-2300 এমবি / সেকেন্ডের মধ্যে রয়েছে।

উপরে গণিত দেওয়া আমি 2 * 1920 ~ = 3600+ এমবি / সেকেন্ডের মধ্যে কিছু আশা করব।

আমার অনুপস্থিত ব্যান্ডউইথ কোথায় গেছে কারও কি ধারণা আছে?

ধন্যবাদ!


এলএসআই এসএএস কন্ট্রোলারের ক্যাশে রাইট-থ্রো সেট করা আছে? (বড় অনুক্রমিক কাজের চাপের জন্য রাইটিং-ব্যাক ধীর হবে)। ডিএস এর জন্য বিএস = 1 এম এর মতো ছোট বিএস দিয়েও পরীক্ষা করতে পারে।
ব্রায়ান

উত্তর:


1

ভাল, ভাল প্রস্তুত প্রশ্ন :)

আমি নিজেই একজন স্পিড'অনফিডস-ম্যান এবং আমার মনে হয় আপনি সৎ হওয়ার জন্য অর্থের উপরে রয়েছেন। আমি আপনার থ্রুপুটটি তার চেয়ে কম দেখতে অপেক্ষায় ছিলাম তবে আমার মনে হয় আপনি যা পেয়েছেন সেখানে একটি ছোটখাটো এবং প্রত্যাশিত, অদক্ষতা রয়েছে। উদাহরণস্বরূপ, পিসিআই বাসের জন্য সর্বদা 100% পাওয়া খুব কম, কম 90% সামগ্রিক হার অনুমান করা ভাল। জিটারটি দেওয়া এর ফলে এটির অর্থ হ'ল পিএইচইওয়ালগুলি সমস্ত সময় 100% 'খাওয়ানো' হবে না তাই আপনি ক্যাশে, ডিস্ক, অ-কয়লাবিযুক্ত বাধা, আইও সময়সূচী ইত্যাদির জন্য কিছুটা হারিয়ে ফেলেন Bas এটি সামান্য অদক্ষতা বার বার ছোট অদক্ষতার সময় ... এবং এইভাবে, এটি তাদের নিজস্ব 5-10% প্রত্যাশিত অদক্ষতার চেয়ে বেশি হয়ে যায়। আমি এই জাতীয় এইচপি ডিএল সার্ভারগুলির সাথে তাদের এমএসএ এসএএস বাক্সগুলির সাথে ডাব্লু 2 কে 3 ব্যবহার করে এবং তারপরে এনএলবি হওয়ার কথা বলেছি ' একাধিক এনআইসির উপরে সম্পাদনা - হতাশাজনক তবে আমি অনুধাবনযোগ্য। এটি যাইহোক আমার 2 সি, দুঃখিত এটি খুব ইতিবাচক নয়।

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