এসএসডি (ইন্টেল 530) পড়ুন / লেখার গতি RAID 10 এর সাথে খুব ধীর হয়


11

ব্যাখ্যা:

আমাদের একটি সার্ভার রয়েছে:

  • মডেল: এইচপি প্রোলিয়েন্ট DL160 জি 6
  • 4 এক্স 240 জিবি এসএসডি (RAID-10)
  • 72 জিবি ডিডিআর 3 র‌্যাম
  • 2 এক্স L5639
  • এইচপি P410 RAID নিয়ামক (256MB, V6.40, রোম সংস্করণ: 8.40.41.00)

এসএসডি ড্রাইভগুলি 4 ব্র্যান্ড নিউ 2.5 "540 এমবি / এস পড়ার গতি এবং 490 এমবি / গুলি লেখার গতি সহ ইনটেল 530

  • সেন্টস 6
  • ফাইল সিস্টেমগুলি ext4

তবে এই অভিযান 10 এ পড়ার গতির পরীক্ষার ফলাফল:

hdparm -t /dev/sda

/dev/sda:
 Timing buffered disk reads:  824 MB in  3.00 seconds = 274.50 MB/sec
[root@localhost ~]# hdparm -t /dev/mapper/vg_localhost-lv_root

/dev/mapper/vg_localhost-lv_root:
 Timing buffered disk reads:  800 MB in  3.01 seconds = 266.19 MB/sec

এবং এটি লেখার গতির জন্য:

dd bs=1M count=512 if=/dev/zero of=test conv=fdatasync
512+0 records in
512+0 records out
536870912 bytes (537 MB) copied, 4.91077 s, 109 MB/s

আমরা রেড 10 সহ 1 গিগাবাইট পড়ার গতি আশা করছিলাম তবে 270MB এমনকি একটি ডিস্কের গতিও নয়!

প্রশ্নাবলী:

  1. কেন এত ধীর?
  2. এটি কি রেড কন্ট্রোলারের কারণে?

আপডেট 1 - একই পড়ুন / লেখার গতি:

উত্তরে উল্লিখিত কিছু সেটিংস পরিবর্তন করার পরে আমার নীচের ফলাফলটি রয়েছে:

(কেউ পড়তে পারে কেন এটি পড়ার গতি হিসাবে 400MB এর পরিবর্তে 4GB দেখায় ?!)

সম্পাদনা: দেখে মনে হচ্ছে কমান্ডটি ভুল ছিল এবং আমাদের এই পরিমাণ র‌্যামের জন্য -s144g ব্যবহার করা উচিত ছিল, কেন এটি 4 জিবি প্রদর্শিত হয় (ই-হোয়াইটের মন্তব্যে প্রস্তাবিত হিসাবে)

[root@192 ~]# iozone -t1 -i0 -i1 -i2 -r1m -s56g
        Iozone: Performance Test of File I/O
                Version $Revision: 3.408 $
                Compiled for 64 bit mode.
                Build: linux

        Record Size 1024 KB
        File size set to 58720256 KB
        Command line used: iozone -t1 -i0 -i1 -i2 -r1m -s56g
        Output is in Kbytes/sec
        Each process writes a 58720256 Kbyte file in 1024 Kbyte records

        Children see throughput for  1 initial writers  =  135331.80 KB/sec
        Children see throughput for  1 rewriters        =  124085.66 KB/sec
        Children see throughput for  1 readers          = 4732046.50 KB/sec
        Children see throughput for 1 re-readers        = 4741508.00 KB/sec
        Children see throughput for 1 random readers    = 4590884.50 KB/sec
        Children see throughput for 1 random writers    =  124082.41 KB/sec

তবে পুরানো hdparm -t /dev/sdaকমান্ডটি এখনও দেখায়:

টাইমিং বাফার ডিস্কটি পড়ে: 810 এমবি 3.00 সেকেন্ডে = 269.85 এমবি / সেকেন্ড

আপডেট 2 (টিউনড-ইউটস প্যাক) - পড়ার গতি এখন 600 এমবি / সেঃ

অবশেষে কিছু আশা, আমরা রেইড কন্ট্রোলার থেকে ক্যাশে অক্ষম করে দিয়েছিলাম এবং ভাগ্যবিহীন কিছু আগে কিছু করেছি, তবে আমরা সার্ভারটি পুনরায় লোড করে আবার ওএস ইনস্টল করেছি বলে আমরা ইয়েওয়াইটের উত্তরে প্রস্তাবিত "সুরযুক্ত-ইউটিস" ইনস্টল করতে ভুলে গেছি (ধন্যবাদ আপনার প্রস্তাবিত এই দুর্দান্ত প্যাকেজের জন্য ew white)

প্রোফাইল ইনস্টল tuned-utilsএবং চয়ন করার পরে enterprise-storageপঠনের গতিটি এখন ~ 600MB / s + তবে লেখার গতি এখনও খুব ধীর (~ 160MB) (:

iozone -t1 -i0 -i1 -i2 -r1m -s144gকমান্ডের ফলাফল এখানে :

    Children see throughput for  1 initial writers  =  165331.80 KB/sec
    Children see throughput for  1 rewriters        =  115734.91 KB/sec
    Children see throughput for  1 readers          =  719323.81 KB/sec
    Children see throughput for 1 re-readers        =  732008.56 KB/sec
    Children see throughput for 1 random readers    =  549284.69 KB/sec
    Children see throughput for 1 random writers    =  116389.76 KB/sec

এমনকি hdparm -t /dev/sdaআমাদের কাছে আদেশ রয়েছে:

টাইমিং বাফার ডিস্কটি পড়ে: 1802 মেগাবাইট 3.00 সেকেন্ডে = 600.37 এমবি / সেকেন্ডে

খুব ধীর লেখার গতির জন্য কোনও পরামর্শ?

আপডেট 3 - মন্তব্যে অনুরোধ করা কিছু তথ্য:

লেখার গতি এখনও খুব কম (একক ডিস্কের 1/3 ডলার যা 150MB / s) নেই

df -hএবং এর জন্য আউটপুট fdisk -l:

[root@192 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/sda1       441G  3.2G  415G   1% /
tmpfs            36G     0   36G   0% /dev/shm


[root@192 ~]# fdisk -l
Disk /dev/sda: 480.0 GB, 480047620096 bytes
255 heads, 63 sectors/track, 58362 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk identifier: 0x00040c3c

   Device Boot      Start         End      Blocks   Id  System
/dev/sda1   *           1       58363   468795392   83  Linux

এই পরীক্ষার জন্য, আপনার সম্ভবত সার্ভারে ইনস্টল করা র্যামের দ্বিগুণ পরিমাণ নির্দিষ্ট করা উচিত।
ew white

আপনি কি আমাদের স্মার্ট অ্যারে P410 নিয়ামকটির ফার্মওয়্যার সংস্করণটি বলতে পারেন?
ew white

@ নতুন আপনার মন্তব্যের জন্য আপনাকে ধন্যবাদ, ফার্মওয়্যার সংস্করণটি পি 410 (256 এমবি, ভি 6.40) এবং রোম সংস্করণটি 8.40.41.00, আমার আইওজোন আদেশটি কি ভুল ছিল? যদি হ্যাঁ আপনি আমাকে পরীক্ষা করতে সঠিক কমান্ড বলতে পারেন? কারণ আমি যা কিছু চেষ্টা করি তা জিবিতে পড়ার গতি পায়
আরা

এখানে কিছু খুবই ভুল। আপনি কেবল 122MB / গুলি লিখছেন। আপনি যে 4 গিগাবাইট / এসের পরিসংখ্যানগুলি দেখছেন তা হ'ল ক্যাশে থেকে অপারেশন, সুতরাং আপনার কমান্ড স্ট্রিংয়ের মতো দেখতে হবে iozone -t1 -i0 -i1 -i2 -r1m -s144g। :(
ewwhite

@ নতুন, আপনাকে অনেক ধন্যবাদ, পড়ার গতি এখন খুব ভাল (আমার প্রশ্নে আপডেট 2 হিসাবে বিশদ), তবে লেখার গতি খুব হতাশাব্যঞ্জক, এর জন্য আপনার কি কোনও পরামর্শ আছে?
আরা

উত্তর:


16

অন্য উত্তরগুলি এখানে কিছু বিষয় তুলে ধরেছে, আপনার নির্দিষ্ট সমস্যাগুলি প্ল্যাটফর্মের সীমাবদ্ধতা এবং ওএস কনফিগারেশনের কারণে:

  • আপনি এইচপি স্মার্ট অ্যারে P410 RAID কন্ট্রোলারে গ্রাহক SATA এসএসডি ব্যবহার করে থ্রুপুট-সীমাবদ্ধ । এসএটিএ ডিস্কগুলি এই নিয়ন্ত্রণকারীগুলিতে 6.0 জিবিএস (6 জি) এর পরিবর্তে 3.0 জিবিএস (3 জি) এ চলে। সুতরাং এটি একটি বাধা যা আপনার ইন্টেল এসএসডিগুলির পড়ার গতিকে প্রভাবিত করে; প্রতি ড্রাইভে 300MB / s বা তারও কম।

  • এসএসডি ব্যবহার করার সময় স্মার্ট অ্যারে P410 নিয়ামকের নির্দিষ্ট প্রয়োজনীয়তা এবং সেরা-অনুশীলন রয়েছে has সংক্ষেপে, কন্ট্রোলার 50,000 আইওপিএস সক্ষম, আপনার এসএসডি ভলিউমের জন্য অ্যারে এক্সিলারেটর অক্ষম করুন এবং performance 6 ড্রাইভে পারফরম্যান্স শীর্ষে।

  • ডিস্ক কর্মক্ষমতা সবসময় ক্রমিক পাঠ্য / লেখার গতি সম্পর্কে নয়। আইওজোন বা বনি ++ এর মতো উপযুক্ত সরঞ্জামের সাহায্যে বেঞ্চমার্কিংয়ের চেষ্টা করুন। আপনি এখনও আপনার একাধিক ড্রাইভের এলোমেলো I / O সুবিধা পাবেন।

  • অপারেটিং সিস্টেম স্তরে, সুরযুক্ত-ইউটিস প্যাকেজটি ইনস্টল করুন এবং enterprise-performanceআপনার ফাইল সিস্টেমগুলি থেকে লেখার বাধাগুলি সরাতে প্রোফাইল সেট করুন এবং আপনার সেটআপের জন্য ডান I / O লিফট সেট করুন। এটি অন্যান্য প্রশ্নগুলিতেও এখানে আচ্ছাদিত ।

  • দেখে মনে হচ্ছে আপনি এলভিএম ব্যবহার করছেন। এটিরও প্রভাব থাকতে পারে ...

একই এইচপি স্মার্ট অ্যারে পি 410 র‌্যাড কন্ট্রোলারে চারটি গ্রাহক 6 জি সাটা এসএসডি (3 জি গতিতে ডাউনশিফ্ট) দিয়ে চলছে এমন একটি জি 7 প্রোলিয়েন্টের আইওজোন প্রতিবেদন এখানে রয়েছে ।

আপনার দেখা উচিত ~ 470MB / s লিখেছেন এবং 650MB / s + পঠিত।

[root@mdmarra /data/tmp]# iozone -t1 -i0 -i1 -i2 -r1m -s56g
        Iozone: Performance Test of File I/O
                Version $Revision: 3.394 $
                Compiled for 64 bit mode.
                Build: linux 

        Record Size 1024 KB
        File size set to 58720256 KB
        Command line used: iozone -t1 -i0 -i1 -i2 -r1m -s56g
        Output is in Kbytes/sec
        Each process writes a 58720256 Kbyte file in 1024 Kbyte records

        Children see throughput for  1 initial writers  =  478209.81 KB/sec
        Children see throughput for  1 rewriters        =  478200.84 KB/sec
        Children see throughput for  1 readers          =  677397.69 KB/sec
        Children see throughput for 1 re-readers        =  679523.88 KB/sec
        Children see throughput for 1 random readers    =  437344.78 KB/sec
        Children see throughput for 1 random writers    =  486254.41 KB/sec

আপনাকে অনেক ধন্যবাদ, মডেলটি "DL160 G6", হ্যাঁ এতে ব্যাকপ্লেন জড়িত রয়েছে :( আমি এখানে 600MB নিয়ে খুশিও হতে পারি, তবে 270MB সত্যিই ধীর গতিযুক্ত, আপনি যা ভাবেন আমার কি করা উচিত, সফটওয়্যার অভিযান সাহায্য করে?
আরা

2
ঠিক আছে, একটি DL160 G6 সহ, আপনার দুটি র‌্যাব র‌্যাড কন্ট্রোলার থেকে ড্রাইভ ব্যাকপ্ল্লেনে যেতে হবে ... 8 ড্রাইভ স্লট। আপনার সমস্যাটি এখানে ড্রাইভ থ্রুপুট, আপনার পরীক্ষার পদ্ধতি এবং সার্ভারের সেটিংস। আমার উত্তরে আমি তালিকাভুক্ত অন্যান্য পরামর্শ ব্যবহার করে দেখুন।
ew white

P410 Sata- এ কেবল 3 জি করছেন এবং নির্দিষ্ট সেরা অনুশীলন সম্পর্কে আকর্ষণীয় কিছু। মোড আপ। (LVM তবে নেতিবাচক পারফরম্যান্স প্রভাবের দিক থেকে ভারী এইচটার হওয়া উচিত নয়, এখানেও উল্লেখ করা হয়েছে: unix.stackexchange.com/questions/7122/… )
রোমান

1
@ আরা প্রোলিয়েন্টের জন্য কোনও 6 জি সাটা নিয়ামক নেই। এটাই আসল কথা. আপনার এসএসডিগুলি কেবল এই প্ল্যাটফর্মের 3 জি গতিতে চলবে যদি আপনি এসএএস এসএসডি ব্যবহার না করেন ।
ew white

1
@ আরা সফ্টওয়্যার র‌্যাডে কোনও এসএএস এইচবিএ (যেমন এলএসআই 9211-8i) এর মতো আলাদা নিয়ামকের সাথে সংযোগ স্থাপন করা আবশ্যক ... এটি আপনাকে আপনার ডিস্কগুলির সম্পূর্ণ ব্যান্ডউইদথ দেখতে দেবে, তবে বিশুদ্ধের বাইরে এসএসডি পারফরম্যান্সের আরও কিছু বিষয় রয়েছে অনুক্রমিক পড়া / লেখার ব্যান্ডউইথ।
ew white

12

ওহে প্রিয়, কোথায় শুরু করব?

সেখানে অনেক কিছু জড়িত রয়েছে এবং আপনার সমস্ত কিছু সম্পর্কে ভাল ধারণা দরকার need কেবল একটি RAID নিয়ামকের বিরুদ্ধে একগুচ্ছ ডিস্ক ছুঁড়ে ফেলার ফলে আপনি যে ফলাফলটি সন্ধান করছেন তা পাবেন না।

এর সহজে উত্তর দেওয়া যায় না। তবে কমপক্ষে, এখানে আপনার নজরদারি করা জিনিসগুলির একটি তালিকা রয়েছে:

  • কন্ট্রোলারের এমনকি থ্রুপুটও দরকার আছে? (-> ডেটাশিট)
  • কন্ট্রোলারের এমনকি হোস্টের পর্যাপ্ত ব্যান্ডউইদথ রয়েছে (এটি x8 হ'ল, এমনকি v1.0 এও রয়েছে)
  • সিস্টেমের চিপসেটটিতে কি পর্যাপ্ত থ্রুপুট (সিপিইউ-কন্ট্রোলার) রয়েছে? (অজানা)
  • আপনি কন্ট্রোলারকে নিয়োগের জন্য কোন কৌশল প্রয়োগের নির্দেশ দিয়েছেন? ( সম্ভবত এটিই আপনাকে কামড়েছে )
  • সবকিছু কি সারিবদ্ধ (পার্টিশন শুরু, এলভি, পিভি) হয়?
  • ব্লকের আকারগুলি কী সুরেলা হয়? (RAID স্ট্রাইপের আকার, ব্লকের আকার, এফএস ব্লক, ...)
  • ফাইল সিস্টেমটি কি RAID সেটআপে অনুকূলিত হয়? (স্তর এবং ব্লকের আকার)

যেহেতু পুরো RAID- র বিরুদ্ধে আপনার থ্রুটপুট (এফএস উপেক্ষা করে) একক ডিস্কের তুলনায় উল্লেখযোগ্যভাবে কম, সম্ভবত আপনি নিজের লেখার কৌশলটি ভুলভাবে সেট আপ করেছেন; কন্ট্রোলার সম্ভবত সমস্ত ডিস্কের লেখার নিশ্চয়তার জন্য অপেক্ষা করছে (এবং যদি না আপনি কন্ট্রোলার ব্যাটারির সাহায্যে র‌্যাম না পেয়ে থাকেন তবে এটি আপনার পক্ষে সবচেয়ে ভাল হতে পারে)।


এটি যা ভাবা হয়েছিল তার চেয়েও শক্ত, আমি ভেবেছিলাম রাইড কন্ট্রোলার র‌্যামকে 512 এমবিতে আপগ্রেড করার মতোই সহজ! , আপনাকে ধন্যবাদ রোমান, কারণ
আরা

উপরের বেশিরভাগটি প্রান্তের ক্ষেত্রে বৈধ সমস্যা সমাধানের কৌশল, তবে মূল পোস্টারের কনফিগারেশনের সুনির্দিষ্ট ক্ষেত্রে প্রয়োগ করবেন না। এখানে কন্ট্রোলারের প্রয়োজনীয় থ্রুপুট এবং ব্যান্ডউইথ রয়েছে, সিপিইউ ভাল আছে, RAID কন্ট্রোলার ডিফল্ট হয় 25:75 আর / ডাব্লু ক্যাশে অনুপাতের (এসএসডি ব্যবহারের জন্য পুরোপুরি অক্ষম করা উচিত), CentOS6 পার্টিশনগুলি সঠিকভাবে প্রান্তিক করে তোলে এবং পাওয়ার জন্য খুব বেশি সম্ভাব্য বিমূর্ততা রয়েছে ব্লক মাপ "সুরেলা"। হাতে থাকা তিনটি সমস্যা হ'ল 6 জি ডিস্কগুলি থ্রিজি গতিতে থ্রটল করা হয়, ফাইলসस्टम রাইটিং বাধা সম্ভবত সক্ষম হয় এবং I / O লিফটটি ডিফল্ট সিএফকিউ হয়।
ew white

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

@ রোমান দুঃখিত, আমি এর আগে মডেলটির কথা উল্লেখ করি নি, আমি আপনার সহায়তার সত্যই প্রশংসা করেছি, আমি আপনার এবং ইয়েওয়াইটের গাইড উভয়ই 500-600 এমবি পৌঁছানোর চেষ্টা করছি, আমার ধারণা আমি এই 3 জি সীমাতে সর্বোচ্চ গতিতে পৌঁছতে পারব
আরা ২

1
মোটেই কোন সমস্যা নেই. নিশ্চিত হয়ে নিন যে আপনি ew white এর উত্তরে লিঙ্কগুলি অনুসরণ করেছেন, যেমন এসডিডি'র সাথে মিল রেখে P410 এর সাথে করার জন্য নির্দিষ্ট জিনিস রয়েছে। এছাড়াও, আপনাকে এটি তৈরি করুন যে আপনি ব্যাক প্লেন থেকে নিয়ন্ত্রণকারীকে দুটি সংযোগ জুড়ে চারটি ডিস্ককে সমানভাবে বিতরণ করেছেন।
রোমান
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.