টিএল; ডাঃ - এসএমবি এবং এএফপি-র মাধ্যমে দুটি ভিন্ন ম্যাক ক্লায়েন্টের মাধ্যমে আমাদের এনএএস-তে 60 এমবি / সেকেন্ডের সীমিত লেখার গতির কারণ আমরা খুঁজে পাই না। তুলনায় তুলনা করুন: একই নেটওয়ার্কের একটি পুরানো উইন্ডোজ 7 ল্যাপটপ স্থির 100 এমবি / সেকেন্ড লিখেছে।
আপনি যদি প্রথমবার এই প্রশ্নটি পড়ে থাকেন তবে দয়া করে আপডেট 4 বিভাগে যান। rsync
আমরা কেন বুঝতে পারি না তা স্বল্প গতির মূল কারণ, (একক ফাইলের জন্য!)।
আসল প্রশ্ন: ম্যাক ওএস 10.11.5 এবং তারপরে গতি বাধা এসএমবি 3 / এনএএস সন্ধান করুন
আমরা rsync --progress -a /localpath/test.file /nas/test.file
ম্যাকোএস এবং উইন্ডোজের অনুলিপি মাধ্যমে পরীক্ষা করেছি ।
এনএএস হ'ল একটি ডিএস 13১ + + তাদের বর্তমান ডিএসএম running.০.২ চালিয়েছে (5..০ এর সাথে পরীক্ষিতও), কেবল দুটি গিগাবিট ইথারনেট উপাদান এবং নূন্যতম ইথারনেট কেবলগুলি (কমপক্ষে Cat5e) সহ RAID1 এ দুটি এইচজিএসটি ডেস্কস্টার নাস SATA 4TB (HDN724040ALE640) রয়েছে with
ম্যাক ক্লায়েন্টরা প্রথমে কেবল 20 এমবি / সেকেন্ড তৈরি করে। তবে স্থির প্রয়োগ signing_required=no
( এখানে বর্ণিত ) এসএমবি 2 এবং এসএমবি 3 এর মাধ্যমে লেখার গতি 60 এমবি / সেকেন্ডে চাপিয়ে দিয়েছে। এএফপি প্রায় 60 এমবি / সেকেন্ড সরবরাহ করে। প্রোটোকল এবং (ম্যাক) ক্লায়েন্টের উপর নির্ভর করে ফলাফল প্রায় 5 এমবি / সেকেন্ডে পরিবর্তিত হয়।
আমরা ইতিমধ্যে যা চেষ্টা করেছি:
অন্তর্জাল
- Iperf3 এর মাধ্যমে নেটওয়ার্কের পারফরম্যান্স পরীক্ষিত। ফলাফল: 926 Mbit / s। ভাল লাগছে।
- দ্বৈত লিঙ্ক একত্রিতকরণ / বন্ডেড নেটওয়ার্ক ইন্টারফেসের চেষ্টা করা। পরিবর্তন নেই.
- এমটিইউ 6000 এবং 9000 বৃদ্ধি পেয়েছে No
- সমস্ত তারগুলি পরীক্ষা করা হয়েছে। কমপক্ষে Cat5e, ভাল অবস্থায় সব ঠিক আছে।
ডিস্ক
- চেক করা স্মার্ট স্বাস্থ্যকর দেখাচ্ছে।
dd if=/dev/zero of=write.test bs=256M count=4
বিভিন্নbs
এবংcount
সেটিংস (128/8, 512M / 2, 1024/1) দিয়ে সরাসরি ডিস্কে লেখার গতি পরীক্ষা করা হয়েছে । ফলাফল: প্রায় 120 এমবি / গুলি (ব্লকের আকার / গণনার উপর নির্ভর করে)
সাহায্যে SMB / এ এফ পি
একে অপরের বিপরীতে এসএমবি 2, এসএমবি 3 এবং এএফপি বেঞ্চমার্ক করেছে। প্রায় সমান
নীচের আপডেটটি দেখুন: ম্যাকোসের এসএমবি বাস্তবায়ন বাতিল করার জন্য ভুল পদ্ধতি ব্যবহৃত হয়েছে। উইন্ডোজ এসএমবি দ্রুততর, ম্যাকোস 10.11 এবং 10.12 এর সাথে আসা নতুন এসএমবি সেটিংস কারণ হতে পারে।- সাহায্যে SMB সেটিংস খামচি করার চেষ্টা করা হয়েছে সহ সকেট অপশন (এই নিম্নলিখিত নির্দেশ )
- বিলম্বিত এস্ক সেটিংসের বিভিন্ন সংস্করণ এবং
rsync --sockopts=TCP_NODELAY
মন্তব্যগুলি চেষ্টা করা হয়েছে
লেখার গতির কোনও উল্লেখযোগ্য পরিবর্তন নেই। আমরা দুবার পরীক্ষা করে দেখেছি যে কনফিগারটিটি সত্যিই লোড হয়েছে এবং আমরা সঠিক smb.conf সম্পাদনা করছি ।
পদ্ধতি
- দেখেছেন সিপিইউ এবং র্যাম লোড। কিছুই সর্বাধিক আউট। প্রায় 20% সিপিইউ, স্থানান্তরের সময় প্রায় 25% র্যাম।
- ডিএসএম 5.XX- র সাথে প্রায় অ-অফ-দ্য-বক্স সেটআপে একই এনএএস পরীক্ষিত। কোনও অতিরিক্ত সফ্টওয়্যার ইনস্টল করা নেই। দ্রষ্টব্য: আমাদের বিভিন্ন স্থানে দুটি রয়েছে। এগুলি সিনোলজির ক্লাউডসিঙ্কের মাধ্যমে সিঙ্কে রয়েছে। একই ফলাফল।
- সিস্টেমের সংস্থানগুলি আঁকতে পারে এমন অপ্রয়োজনীয় সমস্ত কিছুই নিষ্ক্রিয় করেছে।
আমরা মনে করি এটি একটি বরং ডিফল্ট সেটআপ, কোনও অভিনব অভিযোজন, ক্লায়েন্ট বা নেটওয়ার্ক উপাদান নয়। মেট্রিক্স অনুসারে সিনোলজিটি প্রকাশ করে এনএএসকে 40 এমবি / সেকেন্ড থেকে 75 এমবি / এস দ্রুত সঞ্চালন করা উচিত। তবে আমরা কেবল বাধা খুঁজে পাই না।
ক্লায়েন্টদের মধ্যে / জন্য NAS
ম্যাক ক্লায়েন্টগুলি হ'ল একটি ম্যাকপ্রো 5,1 (স্ট্যান্ডার্ড ওয়্যার্ড এনআইসি, 10.12.3 (16D32) চলছে) এবং একটি ম্যাকবুকপ্রো 10,1 (থান্ডারবোল্ট নেটওয়ার্ক অ্যাডাপ্টার, 10.11.6 চলছে) এনএস থেকে প্রায় 2 মিটার দূরে চলেছে, একই দিকে চলছে are পরীক্ষায় উইন্ডোজ ল্যাপটপ হিসাবে গিগাবিট সুইচ।
আমাদের কাছে এই দুটি ন্যাসের বিভিন্ন স্থানে রয়েছে এবং ফলাফলগুলি অভিন্ন। সেকেন্ডে এনএএস কম-বেশি কারখানার ডিফল্ট (তৃতীয় পক্ষের সফ্টওয়্যার ইনস্টলডও নয়)। মাত্র দুটি RAID1, এক্সটি 4 ফর্ম্যাটযুক্ত ডিস্কগুলি অন্যান্য এনএএস-এর সাথে সিএনোলজি ক্লাউডসিঙ্কের মাধ্যমে সিঙ্ক করছে। আমরা সুইচ ছাড়া একই সাথে NAS এর সাথে সরাসরি সংযোগ স্থাপন করেছি, একই ফলস্বরূপ।
গুরুত্বপূর্ণ আপডেট
ম্যাকোস / ওএস এক্স এর এসএমবি বাস্তবায়ন বাতিল করার জন্য ব্যবহৃত পদ্ধতিটি ভুল ছিল। আমি এটি ভার্চুয়াল মেশিনের মাধ্যমে পরীক্ষা করেছি, ধরে নিয়েছি এটি এসএমবি এর নিজস্ব সংস্করণ ব্যবহার করবে, তবে স্পষ্টতই ট্র্যাফিকটি ম্যাকওএসের হাতে চলে যায়, এটি এসএমবি এর সংস্করণ দিয়ে চলেছে।
একটি উইন্ডোজ ল্যাপটপ ব্যবহার করে আমি এখন গড়ে 100 এমবি / সেকেন্ড অর্জন করতে সক্ষম হয়েছি। 10.11 এবং 10.12 এর সাথে এসএমবি বাস্তবায়ন / আপডেটগুলি ইঙ্গিত করা খারাপ পারফরম্যান্সের কারণ হতে পারে। এমনকি signing_required
সেট করা থাকলেও no
।
কেউ আপডেটের সাথে পরিবর্তিত হয়ে পারফরম্যান্সকে প্রভাবিত করতে পারে এমন আরও কিছু সেটিংস নির্দেশ করতে পারলে দুর্দান্ত হত।
আপডেট 2 - নতুন অন্তর্দৃষ্টি
অ্যান্ড্রুহেনেল মন্তব্যগুলিতে উল্লেখ করেছেন যে আমার আরও অন্তর্দৃষ্টির জন্য ওয়্যারশার্ক ব্যবহার করে ট্র্যাফিকের বিশদ তদন্ত করা উচিত।
অতএব আমি sudo tcpdump -i eth0 -s 65535 -w tcpdump.dump
দুটি পরীক্ষার ফাইলের মধ্যে একটি 512 এমবি এবং একটি 1 জিবি দিয়ে ট্রান্সফার করার সময়, এনএএস-তে ছুটে এসেছি । এবং ওয়্যারশার্কের সাথে ডাম্প পরিদর্শন করেছেন।
যা আমি পেয়েছি:
- ওএস এক্স এবং উইন্ডোজ উভয়ই এসএমবি 2 ব্যবহার করে বলে মনে হচ্ছে যদিও এসএমবি 3 এনএএস-তে সক্ষম হয়েছে (কমপক্ষে ওয়্যারশার্ক অনুসারে)।
- ওএস এক্স এমটিইউয়ের সাথে লেগে আছে বলে মনে হচ্ছে । প্যাকেটগুলিতে আরও বেশি 1515 বাইট রয়েছে যা আরও বেশি নেটওয়ার্কের ওভারহেড এবং প্রেরিত প্যাকেটগুলিতে পৌঁছায় (ডাম্পগুলিতে দৃশ্যমান)।
- উইন্ডোজ 26334 বাইট পর্যন্ত প্যাকেটগুলি প্রেরণ করবে বলে মনে হয় (যদি আমি তথ্যটি সঠিকভাবে পড়ে থাকি তবে দয়া করে যাচাই করুন)) এমনকি এমটিইউ এটির অনুমতি না দেয়, যেহেতু এটি এনএএস-এ 1500 সেট করা হয়েছে, সর্বাধিক সেটিংটি সেখানে 9000 হবে (সাইনোলজিও তাদের পরীক্ষায় 1500 সেটিং ব্যবহার করে)।
- /Etc/nsmb.conf এ যোগ
smb_neg=smb3_only
করে ম্যাকোসকে এসএমবি 3 ব্যবহার করতে বাধ্য করার চেষ্টা করা কার্যকর হয়নি বা কমপক্ষে দ্রুত স্থানান্তরিত হতে পারে না। - চলমান
rsync --sockopts=TCP_NODELAY
বিভিন্ন TCP বিভিন্ন সমন্বয় সঙ্গে কোনো প্রভাব ACK সেটিংস (3 0) দেরি করেছে করেছিলেন (দ্রষ্টব্য: আমি 3 ডিফল্ট ACK সেটিংস থেকে tcpdump দৌড়ে)।
আমি .csv ফাইল হিসাবে 4 টি ডাম্প তৈরি করেছি, 512 এমবি (টেস্ট-2.file) অনুলিপি করার সময় 2 টি এবং 1024 এমবি (টেস্ট.ফাইল) অনুলিপি করার সময়। আপনি এখানে ওয়্যারশার্ক রফতানি ডাউনলোড করতে পারেন (25.2 এমবি)। এগুলি স্থান বাঁচাতে জিপ করা হয় এবং স্ব-বর্ণনাকারী নামকরণ করা হয়।
আপডেট 3 - smbutil আউটপুট
মন্তব্যগুলিতে Harrymcsmbutil statshares -a
দ্বারা অনুরোধ হিসাবে আউটপুট ।
==================================================================================================
SHARE ATTRIBUTE TYPE VALUE
==================================================================================================
home
SERVER_NAME server-name._smb._tcp.local
USER_ID 502
SMB_NEGOTIATE SMBV_NEG_SMB1_ENABLED
SMB_NEGOTIATE SMBV_NEG_SMB2_ENABLED
SMB_NEGOTIATE SMBV_NEG_SMB3_ENABLED
SMB_VERSION SMB_3.0
SMB_SHARE_TYPE DISK
SIGNING_SUPPORTED TRUE
EXTENDED_SECURITY_SUPPORTED TRUE
LARGE_FILE_SUPPORTED TRUE
OS_X_SERVER TRUE
QUERYINFO_NOT_SUPPORTED TRUE
DFS_SUPPORTED TRUE
MULTI_CREDIT_SUPPORTED TRUE
--------------------------------------------------------------------------------------------------
এটিতে নোট করুন: আমি নিশ্চিত এখানে উপস্থিত SIGNING_SUPPORTED
হওয়ার true
অর্থ কনফিগারেশনের সেটিংটি কাজ করে না। তবে কেবল এটিই নাস দ্বারা সমর্থিত। আমি ট্রিপল পরীক্ষা করে দেখেছি যে signing_required
আমার কনফিগারেশনে সেটিংস পরিবর্তন করার ফলে লেখার গতিতে প্রভাব পড়ে (~ 20 এমবি / গুলি টিউন করা হলে, MB 60 এমবি / সেকস বন্ধ থাকে)।
আপডেট 4 - সাম্বা যুদ্ধসমূহ: একটি নতুন আশা
এটি কিছুটা বিব্রত বোধ করে তবে এখানে মূল সমস্যাটি আবার - এটি পরিমাপ বলে মনে হচ্ছে।
সক্রিয় আউট rsync --progress -a
30 মেগাবাইট সম্পর্কে খরচ / গতি লেখার s। dd
সরাসরি এসএমবি শেয়ারের সাথে লেখা এবং ব্যবহার time cp /local/test.file /NAS/test.file
করা প্রায় 85-90 এমবি / সেকেন্ডে দ্রুত হয় এবং স্পষ্টতই অনুলিপি করার দ্রুততম উপায় হ'ল ম্যাকোস ফাইন্ডার প্রায় 100 এমবি / এস (যা পদ্ধতিটি পরিমাপ করা সবচেয়ে কঠিন, কারণ এটি নেই) সময় বা গতির সূচক - কার এটির প্রয়োজন, ঠিক? o_O)। আমরা প্রথমে স্টপওয়াচ ব্যবহার করে 1 জিবি ফাইল এবং তারপরে একটি 10 জিবি ফাইল অনুলিপি করে এটি পরিমাপ করেছি।
এই প্রশ্নের শেষ আপডেটের পরে আমরা কী চেষ্টা করেছি।
- ম্যাক ক্লায়েন্ট থেকে ম্যাক ক্লায়েন্টে অনুলিপি করুন। উভয়েরই এসএসডি রয়েছে (ম্যাকপ্রো 250 এমবি / সেকেন্ড ডিস্কের মালিক, 300 এমবি / গুলি সহ ম্যাকবুক প্রো লিখেছেন)। ফলাফল:
dd
ম্যাকবুক প্রো থেকে ম্যাকপ্রো (rsync
25 এমবি / গুলি) পর্যন্ত লেখার মাধ্যমে একটি পরিমিত 65 এমবি / সেকেন্ড । 25 এমবি / সেকেন্ড দেখার মুহূর্তটি যখন আমরা আরএসসিএনকে প্রশ্ন করা শুরু করি। এখনও 65 এমবি / গুলি অত্যন্ত ধীর গতির। সুতরাং ম্যাকোজে এসএমবি বাস্তবায়ন মনে হচ্ছে ... ভাল, প্রশ্নবিদ্ধ। - ডিডি এবং সিপির সাহায্যে বিভিন্ন এসকে সেটিংস ব্যবহার করার চেষ্টা করা হয়েছে - ভাগ্য নেই।
- অবশেষে আমরা সমস্ত উপলব্ধ nsmb.conf বিকল্পের তালিকা দেওয়ার একটি উপায় পেয়েছি। এটি একটি সাধারণ
man nsmb.conf
। সতর্কতা অনলাইন সংস্করণ পুরানো!
সুতরাং আমরা তাদের মধ্যে আরও কয়েকটি সেটিংস চেষ্টা করেছি:
notify_off=yes
validate_neg_off=yes
read_async_cnt=16
write_async_cnt=16
dir_cache_async_cnt=40
protocol_vers_map=4
streams=no
soft=yes
দ্রষ্টব্য: smb_neg=smb3_only
হ'ল - আমি ইতিমধ্যে প্রত্যাশা হিসাবে - একটি বৈধ সেটিং নয়। protocol_vers_map=4
বৈধ সমতুল্য হওয়া উচিত।
যাইহোক, এই সেটিংসগুলির কোনওটিই আমাদের পক্ষে আলাদা হয়নি।
এক নজরে নতুন প্রশ্ন
কেন একটি (1!) ফাইল অনুলিপি করার জন্য ব্যয়বহুল পদ্ধতিতে আরএসআইএনসি হয়। এখানে সিঙ্ক্রোনাইজ / তুলনা করার মতো অনেক কিছুই নেই, আছে কি? Tcpdump সম্ভব ওভারহেড নির্দেশ করে না।
এসএমবি শেয়ারে স্থানান্তরিত করার সময় ম্যাকোস অনুসন্ধানকারীর চেয়ে কম
dd
ও কেনcp
ধীর হয়? এটি ফাইন্ডারের সাথে অনুলিপি করার সময় মনে হয় টিসিপি যোগাযোগের ক্ষেত্রে উল্লেখযোগ্যভাবে কম স্বীকৃতি রয়েছে। (আবার: অ্যাক সেটিং উদাহরণস্বরূপdelayed_ack=1
আমাদের জন্য কোনও পার্থক্য নেই।)উইন্ডোজ এমটিইউকে কেন উপেক্ষা করবে বলে মনে হচ্ছে, উল্লেখযোগ্যভাবে বৃহত্তর এবং অতএব কম টিসিপি প্যাকেট প্রেরণ করবে, যার ফলে ম্যাকোএসের মাধ্যমে সম্ভব সমস্ত কিছুর তুলনায় সেরা পারফরম্যান্স হবে।
প্যাকেটগুলি ম্যাকোস থেকে দেখতে এমন হয় (ক্রমাগত 1514)
"TCP","1514","[TCP segment of a reassembled PDU]"
"TCP","66","445 > 56932 [ACK] Seq=6603 Ack=35239 Win=4505 Len=0 TSval=520980697 TSecr=650208630"
এবং এটি উইন্ডোজ থেকে এসেছে (আকারে পৃথক 26334 অবধি)
"SMB2","1466","Write Request Len:65536 Off:196608 File: test.file"
"TCP","26334","[TCP segment of a reassembled PDU]"
"TCP","7354","[TCP segment of a reassembled PDU]"
"TCP","54","445 > 49220 [ACK] Seq=6831 Ack=267030 Win=4074 Len=0"
আপনি এখানে পুরো .csv ডাউনলোড করতে পারেন (25.2 এমবি), ফাইলের নামগুলি কী অনুলিপি করা হয়েছে তা ব্যাখ্যা করে (ওএস, স্থানান্তর পদ্ধতি এবং ফাইলের আকার)।