কীভাবে আরএসআইএনসি দ্রুত করা যায়?


44

আমি আমার বাইরের ইউএসবি এইচডিডি তে একটি ডিরেক্টরি সিঙ্ক করতে আরএসসিএন চালাচ্ছি। এটি প্রায় 150 জিগ ডেটা। 50000+ ফাইল আমি অনুমান করব।

এটি এই মুহুর্তে এটি প্রথম সিঙ্ক হয়, তবে এর ফাইলগুলি অনুলিপি করছে কেবল 1-5 এমবি / সেকেন্ডের হারে। এটি ইউএসবি ২.০ ঘের জন্য অবিশ্বাস্যরূপে ধীর বলে মনে হচ্ছে। ড্রাইভে অন্য কোনও স্থানান্তরও ঘটছে না।

আমি যে বিকল্পগুলি ব্যবহার করেছি তা এখানে:

rsync -avz --progress /mysourcefolder /mytargetfolder

আমি উবুন্টু সার্ভার 9.10 চালাচ্ছি।


2
আপনি কি নিশ্চিত যে আপনি ইউএসবি 2 সংযোগ পাচ্ছেন? একটি (নন-আরএসআইএনসি) অনুলিপি বা অন্যান্য লিখন অপারেশন কি স্বাভাবিক গতিতে চালিত হয়? যদি তা না হয়, আপনি কি অন্য কোনও ইউএসবি পোর্ট / তারের সাথে অনুলিপি / অন্যান্য লেখার চেষ্টা করেছেন?
কোয়াকোট কোয়েক্সোট

সার্ভারফল্ট / প্রশ্নগুলি / ৪৪০১৪/২ দেখুন - সেখানে লোকেরা দুটি পাইপযুক্ত tarকমান্ড বা ব্যবহার করার প্রস্তাব দেয় cpio
ব্লেজারব্লেড

উত্তর:


38

প্রথম সিঙ্কের জন্য কেবল ব্যবহার করুন

cp -a  /mysourcefolder /mytargetfolder

গন্তব্যটি খালি থাকলে কেবলমাত্র RSSync ওভারহেড যুক্ত করে।

এছাড়াও .. -z বিকল্পটি সম্ভবত আপনার পারফরম্যান্সকে হত্যা করছে, আপনি যদি ধীর লিঙ্কের মাধ্যমে ডেটা স্থানান্তর না করে থাকেন তবে আপনার এটি ব্যবহার করা উচিত নয়।


3
আরএসআইএনসি তাই বলা হয় কারণ এটি দূরবর্তী সিঙ্ক্রোনাইজেশনের জন্য এবং এ কারণেই স্থানীয়ভাবে সংযুক্ত ভলিউমের পক্ষে উপযুক্ত নয়।
মিশনফোর্ড

6
এটি স্থানীয় স্থানান্তরগুলির জন্যও ব্যবহারযোগ্য হবে বলে মনে করা হয় এবং এটি আরও নমনীয়। এটি সম্ভবত প্রথম সিঙ্কের জন্য কেবলমাত্র ওভারকিল।
ব্লেসরব্লেড

1
আরএসআইএনসি হ'ল ওয়ান ওয়ে সিঙ্ক। কোনও সার্ভারে বা কোনও সার্ভার থেকে ব্যাক আপ নেওয়ার জন্য খুব ভাল। তবে, আপনি যদি অপসারণযোগ্য ড্রাইভের সাথে স্থানীয় TWO-Way সিঙ্ক চান তবে আপনি সায়েন্স সিসিএনসিআর.আর.জিগটি পরীক্ষা করতে চাইতে পারেন - এটি সম্পূর্ণ ভিন্ন প্রকল্প যা সায়েন্সসি 2 এর সাথে বিভ্রান্ত না হয়।
জেসি দ্য উইন্ড

3
rsync -avz --progress /mysourcefolder/ /mytargetfolderঅথবা আপনি সামগ্রীগুলি mysourcefoldermytargetfolder
সম্পাদক

2
এই উত্তরটি প্রশ্নের উত্তর দেয় না। প্রশ্নটি কীভাবে আরএসসিএনটি অনুকূল করতে হবে - এটি সিপি কমান্ড দিয়ে প্রতিস্থাপন করবেন না।
oemb1905

38

যদি আপনি একই মেশিনে একটি দ্রুত নেটওয়ার্ক বা ডিস্ক থেকে ডিস্কে আরএসএনসি ব্যবহার করেন,

সংক্ষেপণ -z ব্যবহার না

এবং --inplace ব্যবহার

হার্ডড্রাইভ বা নেটওয়ার্কের পারফরম্যান্স পর্যন্ত এটিকে গতি দেয়

সংক্ষেপে প্রচুর সিপিইউ ব্যবহার করা হয়

অন্তর্ভুক্ত ব্যবহার না করা হার্ডড্রাইভ থ্র্যাশ অনেকটা করে তোলে (এটি চূড়ান্ত তৈরি করার আগে একটি টেম্প ফাইল ব্যবহার করে)

সংক্ষেপে এবং ইনপ্লেসটি ব্যবহার না করা ইন্টারনেটে এটি করার জন্য ভাল (স্লো নেটওয়ার্ক)

নতুন: গন্তব্য সম্পর্কে সচেতন হোন ... যদি এনটিএফএস "সংক্ষেপণ" সক্ষম করা থাকে ... এটি বড় ফাইলগুলি মারাত্মকভাবে কমিয়ে দেয় (আমি 200 এমবি + বলব) আরএসএনসি প্রায় স্থবির হয়ে গেছে বলে মনে হচ্ছে, এটি এর কারণেই।


বড় ফাইলগুলিতে এনটিএফএস সংক্ষেপণ ধীরগতিতে চলছে
স্কট ক্রেমার

ম্যান পেজে আমি '--ইনলাইন' সম্পর্কে কিছুই দেখতে পাচ্ছি না
অ্যান্টনি

1
এটি '--inplace'
স্কট ক্রেমার

26

-Wবিকল্পটি ব্যবহার করুন । এটি ডেল্টা / ডিফের তুলনাগুলি অক্ষম করে। যখন ফাইলের সময় / আকার পৃথক হয়, তখন আরএসইএনসি পুরো ফাইলটি অনুলিপি করে।

অপশনটিও সরিয়ে দিন -z। এটি কেবল নেটওয়ার্ক ট্র্যাফিক সংকোচনের জন্য দরকারী।

এখন rsyncহিসাবে দ্রুত হওয়া উচিত cp


6
গৌণ নোট: -zশুধুমাত্র কম গতির নেটওয়ার্ক ট্র্যাফিকের জন্য দরকারী is যদি আপনার নেটওয়ার্ক পর্যাপ্ত দ্রুত হয় তবে এটি জিনিসগুলিকে ধীর করবে, যেহেতু আপনি সিপিইউ দ্বারা সীমাবদ্ধ থাকবেন।
নটহাগো

3
এই টিপস দুটি এনএএস ডিভাইসগুলির মধ্যে আমার ফাইলগুলির স্থানান্তরকে ব্যাপকভাবে প্রশ্রয় দিয়েছিল, ধন্যবাদ!
djhworld

2
তবে নোট করুন যে ম্যান পৃষ্ঠা অনুসারে এর জন্য বলেছে -W: "উত্স এবং গন্তব্য উভয়ই স্থানীয় পাথ হিসাবে নির্দিষ্ট করা থাকলে এটি কেবল তখনই ডিফল্ট হয় তবে কেবল কোনও ব্যাচ-রাইটিং বিকল্প কার্যকর না হলে" "
গুওলিয়াং ওন

13

প্রথম - এই ক্ষেত্রে ফাইলের সংখ্যা একটি বড় কারণ হতে চলেছে। এটি প্রতিটি গড়ে 3MB আকারের। ওপি'র ক্ষেত্রে গতিকে প্রভাবিত করে এমন কোনও আইও বাধা আছে। আরও এখানে - এটি একটি খুব শুকনো পঠনযোগ্য, তবে কভার ছবিটি এটির জন্য উপযুক্ত।

সুতরাং, খালি ডিরেক্টরিতে কপি করতে rsync ব্যবহার করছেন? এটির গতি বাড়ানোর কয়েকটি উপায় এখানে রয়েছে:

  1. না -z - ওপি-তে অবশ্যই -z ব্যবহার করবেন না।
  2. - না-সংকোচনের ফলে আপনাকে গতি বাড়তে পারে। এটি সবচেয়ে বেশি প্রভাব ফেলতে পারে ... আমার পরীক্ষাটি ছিল 13,000 ফাইল, মোট আকার 200MB এবং rsync 3.1.3 ব্যবহার করে। আমি একই অভ্যন্তরীণ এসএসডি ড্রাইভে একটি পৃথক পার্টিশনের সাথে সিঙ্ক করেছি। --No-compress সহ, ​​আমি 18 এমবিপিএস পাই এবং এটি ছাড়াই আমি 15 এমবিপিএস পাই। সিপি, যাইহোক, 16 এমবিপিএস পায়। যদিও এটি ফাইলের আকারের চেয়ে অনেক ছোট। এছাড়াও - আমি --no-compress এর জন্য কোনও নথিপত্র পাই না can't স্ট্যাকেক্সচেঞ্জ.কম এ এই পোস্টটি থেকে আমি এটি সম্পর্কে জানতে পারি।
  3. -ডাব্লু পুরো ফাইল অনুলিপি করতে - আপনি যদি পার্থক্যকে তুলনা করতে না চান তবে সর্বদা এটি ব্যবহার করুন; কখনই মনে করবেন না যে আরএসসিএনসিটির পয়েন্টটি পার্থক্যগুলির তুলনা করা এবং শুধুমাত্র পরিবর্তনগুলি আপডেট করা।
  4. - স্পার্স ফাইলগুলি ভালভাবে পরিচালনা করতে - আপনার কাছে স্পার ফাইল না থাকলে ক্ষতি করতে পারে না।
  5. --exclud-from or এমন কিছু বাদ দেওয়ার মতো কিছু যা আপনার প্রয়োজন হতে পারে সময় হ্রাস করবে, তবে এটি আপনার স্থানান্তর গতি বাড়িয়ে তুলবে না।
  6. আপনি যদি এই জাতীয় কোনও ফাইলে আউটপুট প্রেরণ করেন তবে এটি সম্ভবrsync -a /source /destination >/somewhere/rsync.out 2>/somewhere/rsync.err - প্রথম> মূলত আপনি সাধারণত যে সমস্ত জিনিস দেখতে পাবেন তা দিয়ে একটি ফাইল মুদ্রণ করে এবং 2> ত্রুটি বার্তাকে বোঝায়।
  7. অবশেষে, আপনার স্থানান্তরের বিভিন্ন অংশের জন্য একাধিক উদাহরণে rsync চালানো একটি বড় সহায়ক হতে পারে।

আমার আদেশ হবে:

rsync -avAXEWSlHh /source /destination --no-compress --info=progress2 --dry-run

যদি সমস্ত কিছু ভালভাবে দেখায় তবে আমি "- শুকনো রান" মুছে ফেলব এবং এটিকে চলতে দেব। এ, এক্স এবং ই প্রসারিত বৈশিষ্ট্য এবং অনুমতিগুলি ক-এর আওতাভুক্ত নয়, l নরম লিঙ্কগুলির জন্য, এইচ কঠোর লিঙ্কগুলির জন্য, এবং এইচ মানব পাঠযোগ্য।

একটি ইউএসবি ড্রাইভ, বা একই ড্রাইভ, বা একটি নেটওয়ার্ক জুড়ে ইতোমধ্যে সিঙ্ক করা ডিরেক্টরি আপডেট করার জন্য, ট্রান্সফার গতি সর্বাধিক করতে আলাদা আলাদা আলাদা আলাদা rync কমান্ডের প্রয়োজন হবে।

বোনাস - এখানে আরএসসিএন ম্যান পৃষ্ঠা রয়েছে এবং আপনি যদি আপনার হার্ড ড্রাইভের গতি পরীক্ষা করতে চান তবে বনি ++ একটি ভাল বিকল্প এবং আপনার নেটওয়ার্কের গতির জন্য, আইপিআরপি চেষ্টা করুন ।


* পোস্টটি প্রায় দশ বছরের পুরানো, তবে অনুসন্ধান ইঞ্জিনগুলি অবশ্যই এটির মতো পছন্দ করে এবং আমি এটি দেখতে অবিরত। এটি একটি ভাল প্রশ্ন এবং আমি মনে করি না "কীভাবে আরএসসিএনসি দ্রুত করা যায়" এর শীর্ষ উত্তরটি "পরিবর্তে সিপি ব্যবহার করুন" হওয়া উচিত।


1
আইটেম of এর ক্ষেত্রে) আমি "ব্লকদেব --setra 8192 / dev / sdX" ব্যবহার করে রিড-ফরোয়ার্ড বাফার প্রসারিত করে উত্স হিসাবে প্রচলিত এইচডিডি ব্যবহার করে আরও অনেক বেশি পারফরম্যান্স উন্নত করতে পারি improve তাই আমি মাথা সন্ধান কমাতে মনস্থ করা।
ব্যবহারকারী 2480144

2

আপনার ফাইলগুলির আকার আকার কী রয়েছে তা আপনি বলবেন না। যদি অনেকগুলি ছোট ফাইল থাকে তবে এটি উত্স এবং গন্তব্য ড্রাইভ উভয়ই প্রধান গতিবিধির প্রবণতা বাড়িয়ে সামগ্রিক স্থানান্তর হারকে হ্রাস করবে কারণ সরঞ্জামটি নতুন ফাইলগুলি খুলবে এবং ওএস ডিরেক্টরিতে প্রবেশের প্রবেশদ্বার এবং অন্যান্য মেটাডেটা রাখে (যেমন আপনি যদি ফাইল সিস্টেমের জার্নাল ব্যবহার করছেন তবে মেটা ডেটা জার্নালিং যেমন ext3 / ext4 এবং এনটিএফএস ডিফল্টরূপে করে) ট্রান্সফার চলাকালীন to যখন একটি সাধারণ বাল্ক ট্রান্সফার হয় তখন একটি ফাইল অনুলিপি প্রক্রিয়া কেবল বৃহত্তর অবজেক্টগুলির জন্য "তার প্রসারিত" হয়।


0

আপনি অবশ্যই রাইক্লোনটি চেষ্টা করে দেখতে চান। এই জিনিসটি দ্রুত পাগল:

$ ট্রি / usr [...] 26105 ডিরেক্টরি, 293208 ফাইল

$ sudo rclone sync / usr / home / fred / temp -P -L --Transfers 64

স্থানান্তরিত: 17.929G / 17.929 গিগাবাইট, 100%, 165.692 এমবাইট / স, ইটিএ 0 গুলি ত্রুটি: 75 (পুনরায় চেষ্টা করা সাহায্য করতে পারে) চেকগুলি: 691078/691078, 100% স্থানান্তরিত: 345539/345539, 100% অতিবাহিত সময়: 1m50.8s

এটি একটি LITEONIT LCS-256 (256GB) এসএসডি থেকে স্থানীয় কপি।

এটিকে আরও ত্বরান্বিত করতে আপনি প্রথম রানটিতে --ignore-checksum যোগ করতে পারেন।


0

এড়ানোর

  • -z/ --compress: সংক্ষেপণ কেবল সিপিইউ লোড করবে কারণ স্থানান্তরটি কোনও নেটওয়ার্কের উপরে নয় বরং র‌্যামের ওপরে।
  • --append-verify: একটি বাধা স্থানান্তর পুনরায় শুরু করুন। এটি একটি ভাল ধারণা মত শোনাচ্ছে তবে এতে বিপজ্জনক ব্যর্থতার মামলা রয়েছে: উত্সের চেয়ে যে কোনও গন্তব্য ফাইল একই আকার (বা আরও বেশি) হবে IGNORED be এছাড়াও, এটি শেষ পর্যন্ত পুরো ফাইলটি চেকসাম করে, যার অর্থ --no-whole-fileএকটি বিপজ্জনক ব্যর্থতার কেস যুক্ত করার সময় কোনও তাত্পর্যপূর্ণ গতি বাড়েনি।

ব্যবহার

  • -S/ --sparse: নালগুলির ক্রমগুলি স্পার্স ব্লকে পরিণত করুন turn
  • --partialবা -Pযা --partial --progress: ভবিষ্যতের পুনরায় শুরু করার জন্য কোনও আংশিক স্থানান্তরিত ফাইল সংরক্ষণ করুন save দ্রষ্টব্য: ফাইলগুলির অস্থায়ী নাম থাকবে না, সুতরাং নিশ্চিত হয়ে নিন যে পুরো অনুলিপিটি শেষ না হওয়া পর্যন্ত অন্য কোনও কিছুই গন্তব্যটি ব্যবহার করার প্রত্যাশা করছে না।
  • --no-whole-fileযাতে যে কোনও কিছুতে রাগ করা দরকার তা ব-দ্বীপ স্থানান্তর ব্যবহার করে। আংশিকভাবে স্থানান্তরিত ফাইলের অর্ধেক পড়া আবার এটি লেখার চেয়ে অনেক দ্রুত হয় is
  • --inplace ফাইল অনুলিপি এড়ানোর জন্য (তবে কেবলমাত্র পুরো ট্রান্সফারটি শেষ না হওয়া পর্যন্ত গন্তব্যটি কিছুই পড়ছে না)
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.