এই সমস্যাটি সম্পর্কে আমার একটি সম্পর্কিত প্রশ্ন রয়েছে তবে এটি খুব জটিল এবং খুব বড় হয়ে গেছে, তাই আমি সিদ্ধান্ত নিয়েছি যে আমি বিষয়টি এনএফএস এবং স্থানীয় সমস্যার মধ্যে ভাগ করে নেব। আমি খুব সাফল্য ছাড়াই zfs- আলোচনা মেলিং তালিকায় এটি সম্পর্কে জিজ্ঞাসা করার চেষ্টা করেছি।
একই সার্ভারে এনএফএস / সিআইএফএস ডিরেক্টরিগুলির মধ্যে ধীরে ধীরে অনুলিপি করা
রূপরেখা: আমি কীভাবে সেটআপ করছি এবং আমি কী প্রত্যাশা করছি
- আমার কাছে 4 টি ডিস্ক সহ একটি জেডএফএস পুল রয়েছে। 2 টিবি রেড 2 টি আয়না হিসাবে স্ট্রাইপযুক্ত হিসাবে কনফিগার করা হয়েছে (RAID 10)। লিনাক্সে, জেফসনলিনাক্স। কোনও ক্যাশে বা লগ ডিভাইস নেই।
- ডেটা আয়না জুড়ে সুষম হয় (জেডএফএসের জন্য গুরুত্বপূর্ণ)
- প্রতিটি ডিস্ক সমান্তরালভাবে 147MB / সেকেন্ডে (কাঁচা ডাব্লু / ডিডি) পড়তে পারে, 588 এমবি / সেকেন্ডের সম্মিলিত থ্রুপুট দেয়।
- আমি অনুরূপ 4 টিবি রেড ডিস্কের বেঞ্চমার্কের উপর ভিত্তি করে প্রতিটি ডিস্ক থেকে প্রায় 115MB / সেকেন্ড রাইটিং, 138MB / সেকেন্ড রিড এবং 50MB / সেকেন্ডের অনুক্রমিক তথ্য পুনর্লিখনের আশা করি। আমি আশা করি যে 100MB / সেকেন্ডের চেয়ে কম পড়া বা লিখতে হবে না, যেহেতু আজকাল কোনও ডিস্ক এটি করতে পারে।
- আমি ভেবেছিলাম লোড রিডিংয়ের সময় বা ক্রমানুসারে ডেটা লেখার সময় আমি সমস্ত 4 টি ডিস্কে 100% আইও ব্যবহার দেখতে পাব। এবং যে ডিস্কগুলি 100MB / সেকেন্ডের মধ্যে 100% ব্যবহারের সময় রাখবে।
- আমি ভেবেছিলাম পুলটি আমাকে প্রায় 2x রাইটিং, 2 এক্স পুনর্লিখন এবং 4x পড়ার জন্য একটি ডিস্কের মধ্যে পারফরম্যান্স দেবে - আমি কি ভুল করছি?
- নতুন আমি ভেবেছিলাম একই পুলের একটি এক্সট্রি 4 জেডভিএল জেডএফএসের মতোই গতিবেগ হবে
আমি আসলে কি পাই
আমি পুলটির পঠন পারফরম্যান্সটি যতটা আশা করেছিলাম ততটা তত বেশি নয়
কিছু দিন আগে থেকে পুলে ++ বেঞ্চমার্ক
সংস্করণ 1.97 ------ অনুক্রমিক আউটপুট ------ - সিক্যুশিয়াল ইনপুট- - র্যান্ডম- সমকালীন 1 -Per ক্রো- - ব্লক--- পুনর্লিখন- -পির করুন- - ব্লক-- - অনুসন্ধান - মেশিনের আকার কে / সেকেন্ড% সিপি কে / সেকেন্ড% সিপি কে / সেকেন্ড% সিপি কে / সেকেন্ড% সিপি কে / সেকেন্ড% সিপি / সেকেন্ড% সিপি আইগোর 63 জি 99 99 232132 47 118787 27 336 97 257072 22 92.7 6
বনি ++ এর একটি নিজস্ব একটি জিপুলে নিজস্ব 4 টিবি রেড ড্রাইভে
সংস্করণ 1.97 ------ অনুক্রমিক আউটপুট ------ - সিক্যুশিয়াল ইনপুট- - র্যান্ডম- সমকালীন 1 -Per ক্রো- - ব্লক--- পুনর্লিখন- -পির করুন- - ব্লক-- - অনুসন্ধান - মেশিনের আকার কে / সেকেন্ড% সিপি কে / সেকেন্ড% সিপি কে / সেকেন্ড% সিপি কে / সেকেন্ড% সিপি কে / সেকেন্ড% সিপি / সেকেন্ড% সিপি আইগোর 63 জি 101 99 115288 30 49781 14 326 97 138250 13 111.6 8
এটি অনুসারে একটি একক 4 টিবি রেড ড্রাইভের ফলাফলের ভিত্তিতে পঠন ও পুনর্লিখনের গতি যথাযথ (সেগুলি দ্বিগুণ)। যাইহোক, আমি যে পড়ার গতিটি আশা করছিলাম তা প্রায় 550MB / সেকেন্ড (4TB ড্রাইভের গতি 4x) হত এবং আমি কমপক্ষে 400MB / সেকেন্ডের জন্য আশা করতাম। পরিবর্তে আমি প্রায় 260MB / সেকেন্ড দেখতে পাচ্ছি
নীচের তথ্য সংগ্রহের সময়, এখন থেকে পুলটিতে ++ । আগের মতো একদম একই নয় এবং কিছুই বদলেনি।
সংস্করণ 1.97 ------ অনুক্রমিক আউটপুট ------ - সিক্যুশিয়াল ইনপুট- - র্যান্ডম- সমকালীন 1 -Per ক্রো- - ব্লক--- পুনর্লিখন- -পির করুন- - ব্লক-- - অনুসন্ধান - মেশিনের আকার কে / সেকেন্ড% সিপি কে / সেকেন্ড% সিপি কে / সেকেন্ড% সিপি কে / সেকেন্ড% সিপি কে / সেকেন্ড% সিপি / সেকেন্ড% সিপি আইগোর 63 জি 103 99 207518 43 108810 24 342 98 302350 26 256.4 18
লেখার সময় zpool iostat । আমার কাছে ঠিক আছে বলে মনে হচ্ছে
ক্ষমতা অপারেশন ব্যান্ডউইথ পুল বরাদ্দ বিনামূল্যে পড়া লিখিত পঠন লিখন -------------------------------------------- ----- - ---- ----- ----- ----- ----- পুল 2 1.23T 2.39T 0 1.89K 1.60K 238 এম আয়না 631G 1.20T 0 979 1.60K 120M আটা-ডাব্লুডিসি_ডব্লিউডি20EFRX-68AX9N0_WD-WMC300004469 - - 0 1007 1.60K 124M আটা-ডব্লিউডিসি_ডব্লিউডি20ইএফআরএক্স -68EUZN0_WD-WCC4MLK57MVX - - 0 975 0 120 এম আয়না 631G 1.20T 0 953 0 117M আটা-ডব্লিউডিসি_ডব্লিউডি20EFRX-68AX9N0_WD-WCC1T0429536 - - 0 1.01K 0 128M আটা-ডব্লিউডিসি_ডব্লিউডি20ইএফআরএক্স -68EUZN0_WD-WCC4M0VYKFCE - - 0 953 0 117M
পুনর্লিখনের সময় zpool iostat । আমার কাছে ঠিক আছে বলে মনে হয় ।
ক্ষমতা অপারেশন ব্যান্ডউইথ পুল বরাদ্দ বিনামূল্যে পড়া লিখিত পঠন লিখন -------------------------------------------- ----- - ---- ----- ----- ----- ----- পুল 2 1.27T 2.35T 1015 923 125 এম 101 এম আয়না 651G 1.18T 505 465 62.2M 51.8M আটা-ডব্লিউডিসি_ডব্লিউডি20EFRX-68AX9N0_WD-WMC300004469 - - 198 438 24.4M 51.7M আটা-ডব্লিউডিসি_ডব্লিউডি20ইএফআরএক্স -68EUZN0_WD-WCC4MLK57MVX - - 306 384 37.8M 45.1M আয়না 651G 1.18T 510 457 63.2M 49.6M আটা-ডব্লিউডিসি_ডব্লিউডি20EFRX-68AX9N0_WD-WCC1T0429536 - - 304 371 37.8M 43.3M আটা-ডব্লিউডিসি_ডব্লিউডি20ইএফআরএক্স -68EUZN0_WD-WCC4M0VYKFCE - - 206 423 25.5 এম 49.6 এম
এখানেই আমি ভাবছি যে কী হচ্ছে
পড়ার সময় zpool iostat
ক্ষমতা অপারেশন ব্যান্ডউইথ পুল বরাদ্দ বিনামূল্যে পড়া লিখিত পঠন লিখন -------------------------------------------- ----- - ---- ----- ----- ----- ----- পুল 2 1.27T 2.35T 2.68K 32 339 এম 141 কে আয়না 651G 1.18T 1.34K 20 169M 90.0K আটা-ডব্লিউডিসি_ডব্লিউডি20EFRX-68AX9N0_WD-WMC300004469 - - 748 9 92.5 এম 96.8K আটা-ডব্লিউডিসি_ডব্লিউডি20ইএফআরএক্স -68EUZN0_WD-WCC4MLK57MVX - - 623 10 76.8M 96.8K আয়না 651G 1.18T 1.34K 11 170M 50.8K আটা-ডব্লিউডিসি_ডব্লিউডি20EFRX-68AX9N0_WD-WCC1T0429536 - - 774 5 95.7M 56.0K আতা-ডব্লিউডিসি_ডব্লিউডি20ইএফআরএক্স -68EUZN0_WD-WCC4M0VYKFCE - - 599 6 74.0 এম 56.0K
একই রিড অপারেশনের সময় iostat -x । IO% কীভাবে 100% এ নেই তা নোট করুন।
ডিভাইস: আরআরকিএম / এস আরকিউএম / এসআর / এসআর / এস আরকেবি / এস ডাব্লুবি / এস অ্যাগ্রিক-এসজে অ্যাভিজিউ-এসজেড অপেক্ষায় রয়েছে r_await w_await svctm% ব্যবহার এসডিবি 0.60 0.00 661.30 6.00 83652.80 49.20 250.87 2.32 3.47 3.46 4.87 1.20 79.76 এসডিডি 0.80 0.00 735.40 5.30 93273.20 49.20 251.98 2.60 3.51 3.51 4.15 1.20 89.04 এসডিএফ 0.50 0.00 656.70 3.80 83196.80 31.20 252.02 2.23 3.38 3.36 6.63 1.17 77.12 এসডিএ 0.70 0.00 738.30 3.30 93572.00 31.20 252.44 2.45 3.33 3.31 7.03 1.14 84.24
zpool এবং পরীক্ষা ডেটাसेट সেটিংস:
- সময় বন্ধ আছে
- সংক্ষেপণ বন্ধ আছে
- অ্যাশফিটটি 0 (অটোডেক্টেক্ট - আমার বোঝা ছিল যে এটি ঠিক ছিল)
- zdb বলে ডিস্কগুলি সমস্ত অ্যাশফিট = 12 are
- মডিউল - বিকল্পগুলি zfs zvol_threads = 32 zfs_arc_max = 17179869184
- সিঙ্ক = মান
সম্পাদনা করুন - অক্টোবর, 30, 2015
আমি আরও কিছু পরীক্ষা করেছি
- ডেটাসেট বনি ++ ডাব্লু / রেকর্ডসাইজ = 1 এম = 226 এমবি লিখুন, 392MB আরও ভাল পড়ুন
- ডেটাসেট ডিডি ডাব্লু / রেকর্ড আকার = 1 এম = 260 এমবি লিখুন, 392MB আরও ভাল পড়ুন
- zvol w / ext4 dd bs = 1M = 128MB লিখুন, 107MB পড়েন কেন এত আস্তে?
- সমান্তরাল = 227 এমবি রাইনে ডেটাसेट 2 প্রক্রিয়াজাতকরণ, 396 এমবি পঠিত
- ডিডি ডাইরেক্ট আইও ডেটাसेट এবং জেডভিএলে আলাদা করে না
বর্ধিত রেকর্ড আকারের সাথে পারফরম্যান্সে আমি অনেক বেশি খুশি। পুলের প্রায় প্রতিটি ফাইলই 1MB এর ওপরে। সুতরাং আমি এটি ছেড়ে যেতে হবে। ডিস্কগুলি এখনও 100% ব্যবহার পাচ্ছে না, এটি এখনও আরও দ্রুত হতে পারে কিনা তা অবাক করে তোলে। এবং এখন আমি ভাবছি কেন zvol পারফরম্যান্স এত লম্পট, কারণ এটি আমি (হালকাভাবে) ব্যবহার করি।
আমি মন্তব্য / উত্তরে অনুরোধ করা যে কোনও তথ্য সরবরাহ করতে পেরে খুশি। আমার অন্যান্য প্রশ্নের মধ্যেও প্রচুর তথ্য পোস্ট করা আছে: একই সার্ভারে এনএফএস / সিআইএফএস ডিরেক্টরিগুলির মধ্যে ধীরে ধীরে অনুলিপি করা হচ্ছে
আমি পুরোপুরি সচেতন যে আমি কিছু বুঝতে পারি না এবং এটি কোনও সমস্যা নাও হতে পারে। আগাম ধন্যবাদ.
এটি পরিষ্কার করার জন্য, প্রশ্নটি হল: জেডএফএস পুলটি আমার প্রত্যাশার চেয়ে দ্রুত নয় কেন? এবং সম্ভবত অন্য কিছু আছে?
dd
আপনি কী ধরণের পারফরম্যান্স পান তা দেখতে ব্যবহার করুন । আপনি স্ট্রিমিং গতিতে উঠতে থাকায় আপনি সরাসরি আইওও দেখতে চাইতে পারেন যেখানে ক্যাচিং থেকে ডাবল বাফারিং কার্য সম্পাদনকে প্রভাবিত করতে পারে। এফডব্লিউআইডাব্লু, তাত্ত্বিক মোট কাঁচা 4-ডিস্কের পড়ার পারফরম্যান্সের 3/4 ভাল।
%util
সংখ্যাগুলি ব্যাখ্যা করতে পারে ।