দুটি কম্পিউটারের মধ্যে প্রচুর পরিমাণে ডেটা প্রেরণের দ্রুততম উপায় কী? [বন্ধ]


111

এটি এমন একটি পরিস্থিতি যার মধ্যে আমি প্রায়শই থাকি:

  • এর ভিতরে একটি 320 গিগাবাইটের হার্ড-ড্রাইভ এবং 16 গিগাবাইট র‌্যামের সাথে আমার উত্স সার্ভার রয়েছে ( এখানে সঠিক চশমা উপলভ্য , তবে এটি অন্যান্য সমস্যা হিসাবে আমি প্রায়শই অন্যান্য মেশিনে চালিত করি তাই আমি যে কোনওটির উত্তর পছন্দ করবো) "যুক্তিসঙ্গত" লিনাক্স মেশিন)
  • আমার কাছে বেশ কয়েকটি ট্যারাবাইটের হার্ড-ড্রাইভের জায়গার সাথে একটি ব্যাকআপ সার্ভার রয়েছে ( ঠিক এখানে স্পেসিফিকেশন , উপরে অস্বীকৃতি দেখুন)

আমি উত্স সার্ভার থেকে টার্গেট সার্ভারে 320GB ডেটা স্থানান্তর করতে চাই (বিশেষত, ডেটা থেকে /dev/sda)।

  1. দুটি কম্পিউটার শারীরিকভাবে একে অপরের পাশে, তাই আমি তাদের মধ্যে কেবল চালাতে পারি।
  2. আমি ল্যানে আছি, এবং আমি একটি নতুন-ইশ রাউটার ব্যবহার করছি , যার অর্থ আমার নেটওয়ার্কের গতি "আদর্শভাবে" 1000Mbit হওয়া উচিত, তাই না?
  3. সুরক্ষা কোনও সমস্যা নয়। আমি একটি স্থানীয় নেটওয়ার্কে আছি এবং আমি রাউটার সহ নেটওয়ার্কের সমস্ত মেশিনকে বিশ্বাস করি ।
  4. (alচ্ছিক) অগত্যা আমার ডেটাতে স্বাক্ষরিত চেকসামের প্রয়োজন নেই, তবে কেবলমাত্র আউটপুট অদৃশ্য হওয়ার পরিবর্তে প্রাথমিক ত্রুটি পরীক্ষা করা (যেমন ড্রপ প্যাকেটগুলি, বা ড্রাইভটি অপঠনযোগ্য হয়ে উঠছে) সনাক্ত করা উচিত।

আমি এই প্রশ্নটি অনলাইনে অনুসন্ধান করেছি এবং বেশ কয়েকটি আদেশের পরীক্ষা করেছি। যেটি প্রায়শই দেখা যায় তা হ'ল:

ssh user@192.168.1.100 'dd bs=16M if=/dev/sda | gzip' > backup_sda.gz

এই কমান্ডটি খুব ধীর প্রমাণিত হয়েছে (এটি এক ঘন্টার জন্য চলল, কেবলমাত্র ডেটা দিয়ে প্রায় 80 জিবি পেয়েছিল)। 1GB পরীক্ষার প্যাকেটের জন্য এটিটি প্রায় 1 মিনিট 22 সেকেন্ড নিয়েছিল এবং সংকোচিত না হলে দ্বিগুণ দ্রুত গতিতে শেষ হয়েছিল। ফলাফলগুলি হ'ল উত্স সিস্টেমে র‌্যামের পরিমাণের চেয়ে কম হ'ল স্থানান্তরিত ফাইলটি এ কারণেও ছড়িয়ে পড়েছে।

তদ্ব্যতীত (এবং এটি 1 জিবি পরীক্ষার টুকরোতে পরীক্ষা করা হয়েছিল), আমি যদি gzipকমান্ডটি ব্যবহার করি এবং আমি সমস্যাগুলি পাচ্ছি dd; টার্গেটে এক্সট্রাক্ট করার সময় ফলস্বরূপ ফাইলটির একটি আলাদা চেকসাম থাকে, এটি সরাসরি পাইপ করা হয় না তার চেয়ে বেশি। আমি এখনও কেন এটি ঘটছে তা জানার চেষ্টা করছি।



4
আপনি কি /dev/sdaকোনও চিত্র বা কেবল ফাইল হিসাবে স্থানান্তর করতে চান ? আর আর সিএনসি কোন বিকল্প নেই? হয় /dev/sdaযখন আপনি মাউন্ট dded?
জোডকা লেবু

15
আপনার পারফরম্যান্স ডেটা (1GB / 80sec, 80GB / 1 ঘন্টা) 100MBit- এ আমাদের কী আশা করা উচিত তা পুরোপুরি মেলে। আপনার হার্ডওয়ারটি পরীক্ষা করুন। ... এবং জীবাণু ঠিক আছে, 320 জিবি বড় হতে পারে তবে "প্রচুর পরিমাণে ডেটা" ভুল প্রত্যাশা উত্থাপন করে।
ব্লেফ্যাসেল

8
"ডিস্কে পূর্ণ একটি মালবাহী ট্রেনের ব্যান্ডউইথকে কখনই হ্রাস করবেন না।" .. আপনি কি থ্রুপুট, বিলম্বিতা, বা দুটিটির কিছু মিশ্রণের বিষয়ে জিজ্ঞাসা করছেন?
কেশলাম

8
আমার এক বন্ধু সর্বদা বলেছিলেন: "কখনই ট্রাকে হার্ড ড্রাইভের স্তূপের ব্যান্ডউইদথকে কখনই হ্রাস করবেন না"।
আমাদানন ইনক।

উত্তর:


139

যেহেতু সার্ভারগুলি শারীরিকভাবে একে অপরের পাশে রয়েছে, এবং আপনি যে মন্তব্যে তাদের কাছে শারীরিক অ্যাক্সেস রয়েছে তা উল্লেখ করেছেন, তাই দ্রুততম উপায় হ'ল প্রথম কম্পিউটার থেকে হার্ড-ড্রাইভটি নিয়ে যাওয়া, এটি দ্বিতীয়টিতে স্থাপন করা এবং ফাইলগুলি স্থানান্তর করা to Sata সংযোগের ওপরে।


15
+1: শারীরিক মাধ্যমে স্থানান্তর করা দ্রুততম রুট বলে মনে হচ্ছে, এমনকি যদি এটি কোথাও থেকে একটি বড় বাহ্যিক হার্ড ড্রাইভ পাওয়া যায়। প্রায় £ 40, এবং আপনি সম্ভবত কাটিয়েছি ঐ সময়ের মধ্যে ইতিমধ্যে অনেক,
deworde

3
গিগাবিট নেটওয়ার্কের মধ্যে যদি কেউ পুরো গতি অর্জন করে তবে আমি এই ধারণার সাথে সম্পূর্ণই একমত নই। একটি এইচপি জেনারেল 7 মাইক্রোসার্ভারের মধ্যে একটি জিক্সেল গিগাবিট সুইচ এবং এনপিএনএস জি 630 মেশিনের মাধ্যমে এনএফএস / এসএমবির উপর পরীক্ষা করা আমাকে ~ 100MB / s স্থানান্তর দেয়। (যতক্ষণ না আমি ড্রাইভ প্লাটারগুলির বাইরের প্রান্তটি ছেড়ে যাই) আপনি যদি এসএসডি বা অত্যন্ত উচ্চতর পারফরম্যান্স ড্রাইভ / স্টোরেজ ব্যবহার না করেন তবে আমি মনে করি না যে 2 টি অনুলিপি 100MB / s এর একটি আউটপুট উত্পাদন করতে পারে, যার জন্য প্রতিটি কপির অপারেশন কেবল 200MB / s হওয়া উচিত এমনকি এমনকি ব্রেক করতে হবে।
ফোনগুলি

3
@ ফিফেস: স্পষ্টতই আপনি কোনও অস্থায়ী অনুলিপি করেন না। এটি ডিফোর্ডের খারাপ ধারণা ছিল, অন্য সবার কথা বলার মতো নয়। টার্গেট মেশিনে সোর্স ড্রাইভের সংযোগ স্থাপনের বিষয়টি হ'ল SATA-> SATA dd(বা একটি ফাইল সিস্টেম ট্রি কপি) দিয়ে।
পিটার কর্ডেস

10
"হার্ড ড্রাইভে পূর্ণ ট্রাকের ব্যান্ডউইথকে কখনই হ্রাস করবেন না though যদিও এক বিলম্বের এক নরক"
কেভিন

3
@ কেভিন: হ্যাঁ, আমার বক্তব্যটি ছিল একই কম্পিউটারে ডিস্কের মধ্যে একটি সরাসরি অনুলিপি অন্য কোনও সম্ভাব্য পদ্ধতির চেয়ে কমপক্ষে দ্রুত fast আমি ফাইজের এই বক্তব্য স্বীকার করার জন্য রিয়েল-লাইফ ব্যান্ডউইথ নম্বর নিয়ে এসেছি যে গিগের ওপরে যাওয়া ওপিএস পুরানো ড্রাইভের পক্ষে ঠিক, তবে নতুন ড্রাইভের জন্য একটি বাধা। (এক ক্ষেত্রে যেখানে দুটি কম্পিউটারে দুটি ড্রাইভই সেরা বিকল্প নয় , যখন উত্সের মেটাডেটা ক্যাশে করতে তাদের র‌্যাম ব্যবহার করে পৃথক কম্পিউটার রাখা এবং গন্তব্য গুরুত্বপূর্ণ, যেমন বিলিয়ন বিলিয়ন ফাইলের আরএসএনসি জন্য।)
পিটার কর্ডস

69

netcat সুরক্ষার সমস্যা না এমন পরিস্থিতিগুলির জন্য এটি দুর্দান্ত:

# on destination machine, create listener on port 9999
nc -l 9999 > /path/to/outfile

# on source machine, send to destination:9999
nc destination_host_or_ip 9999 < /dev/sda
# or dd if=/dev/sda | nc destination_host_or_ip 9999

দ্রষ্টব্য, আপনি যদি ddজিএনইউ কোর্টিলগুলি ব্যবহার করছেন , আপনি SIGUSR1প্রক্রিয়াটিতে প্রেরণ করতে পারেন এবং এটি স্ট্ডারের অগ্রগতি ছাড়বে। বিএসডির জন্য dd, ব্যবহার করুন SIGINFO

পিভি অনুলিপি চলাকালীন অগ্রগতি রিপোর্ট করতে আরও বেশি সহায়ক:

# on destination
nc -l 9999 | pv > /path/to/outfile

# on source
pv /dev/sda | nc destination_host_or_ip 9999
# or dd if=/dev/sda | pv | nc destination_host_or_ip 9999

2
দ্বিতীয় উদাহরণ হিসেবে বলা যায়, তাই ddএমনকি প্রয়োজনীয়, অথবা করতে pv/ ncআচরণ /dev/sdaতাদের নিজের উপর শুধু জরিমানা? (এই জাতীয় বিশেষ ফাইলগুলি বা 0x00
বাইটযুক্ত

5
@ ব্যবহারকারী 1794469 সংক্ষেপণ সাহায্য করবে? আমি ভাবছি নেটওয়ার্কটি যেখানে বাধা নেই is
IQAndreas

17
ভুলে যাবেন না যে কারওে নেটক্যাট থেকে এবং পিপিংয়ের পরিবর্তে যথাক্রমে আইপি পোর্ট এবং আইপি পোর্ট পুনর্নির্দেশগুলি bashব্যবহার করতে পারেন । > /dev/tcp//< /dev/tcp//
ইনকনিস মিসেসি

5
ভাল উত্তর. গিগাবিট ইথারনেট প্রায়শই হার্ড ড্রাইভের গতির চেয়ে দ্রুত হয়, তাই সংকোচনহীন। বেশ কয়েকটি ফাইল স্থানান্তর করতে বিবেচনা করুন tar cv sourcedir | pv | nc dest_host_or_ip 9999এবং cd destdir ; nc -l 9999 | pv | tar xv। অনেকগুলি বৈকল্পিক সম্ভব, আপনি উদাহরণস্বরূপ .tar.gzঅনুলিপিগুলির চেয়ে গন্তব্য দিকে রাখতে চান । আপনি যদি ডিরেক্টরিটিতে ডিরেক্টরিটি অনুলিপি করেন, অতিরিক্ত সুরক্ষার জন্য আপনি পরে একটি আরএসসিএন সম্পাদন করতে পারেন, যেমন ভাগ্য থেকে rsync --inplace -avP user@192.168.1.100:/path/to/source/. /path/to/destination/.এটি গ্যারান্টি দিবে যে সমস্ত ফাইল সত্যই অনুলিপি রয়েছে।
স্টাফেন গৌরিচন

3
আইপিভি 4 ব্যবহারের পরিবর্তে আপনি আইপিভি 6 ব্যবহার করে আরও ভাল থ্রুপুট অর্জন করতে পারেন কারণ এতে একটি বড় পেওলড রয়েছে। আপনি এটি কনফিগারও করেন না, যদি মেশিনগুলি আইপিভি 6 সক্ষম হয় তবে তাদের সম্ভবত একটি আইপিভি 6 লিঙ্ক-লোকাল ঠিকানা রয়েছে
ডেভিড কোস্টা

33
  1. না ব্যবহার দ্রুত কম্প্রেশন।

    • আপনার স্থানান্তর মাধ্যম যাই হোক না কেন - বিশেষত নেটওয়ার্ক বা ইউএসবির জন্য - আপনি পড়া, ক্যাশে এবং লেখার জন্য ডেটা বিস্ফোরণের সাথে কাজ করবেন এবং এগুলি ঠিক সিঙ্কে হবে না।
    • ডিস্ক ফার্মওয়্যার, ডিস্ক ক্যাশে এবং কার্নেল / রাম ক্যাশেগুলি ছাড়াও যদি আপনি সিস্টেমে সিপিইউগুলিকে কোনওভাবে ফেটে প্রতি আদান-প্রদানের পরিমাণের পরিমাণকে কেন্দ্রীভূত করতে পারেন তবে আপনার এটি করা উচিত
    • যে কোনও সংকোচনের অ্যালগরিদম যত তাড়াতাড়ি সম্ভব ইনপুটগুলির স্পার্স রানগুলি হ্যান্ডেল করে দেবে, তবে খুব কমই আছে যা নেটওয়ার্ক থ্রুপুটগুলিতে বাকী অংশগুলি পরিচালনা করবে।
    • lz4 এখানে আপনার সেরা বিকল্প:

      LZ4 হ'ল একটি খুব দ্রুত লসলেস কমপ্রেসন অ্যালগরিদম, প্রতি কম্পিউটারে 400 এমবি / সেকেন্ডে সংক্ষেপণের গতি সরবরাহ করে, মাল্টি-কোর সিপিইউ সহ স্কেলেবল। এটিতে প্রতি একাধিক জিবি / এস গতি সহ একটি অত্যন্ত দ্রুত ডিকোডারও বৈশিষ্ট্যযুক্ত, সাধারণত মাল্টি-কোর সিস্টেমে র‍্যাম গতির সীমাতে পৌঁছে যায়।

  2. সাধারণত অযথা অনুসন্ধান করবেন না not

    • এটি অনুমান করা কঠিন হতে পারে।
    • আপনি যে ডিভাইসটি অনুলিপি করেছেন সেখান থেকে যদি অনেকগুলি মুক্ত স্থান থাকে এবং ডিভাইসটি সম্প্রতি শূন্য করা যায়নি, তবে উত্স ফাইল-সিস্টেমের সমস্ত অনুলিপি করা উচিত, তবে প্রথমে এটি করা আপনার পক্ষে উপযুক্ত হবে is কিছুটা এইরকম:

      </dev/zero tee >empty empty1 empty2; sync; rm empty*
    • তবে এটি নির্ভর করে আপনি কী স্তরের উত্সটি পড়া উচিত on ডিভাইসটি তার /dev/some_diskডিভাইস ফাইল থেকে শেষ করা শুরু করা সাধারণত পড়া বাঞ্ছনীয় , কারণ ফাইল-সিস্টেমের স্তরে পড়াটি সাধারণত ব্যাক-ইন-সন্ধান এবং ডিস্কের আশেপাশে অনিচ্ছাকৃতভাবে জড়িত থাকে। এবং তাই আপনার পঠন কমান্ড কিছু হতে হবে:

      </dev/source_device lz4 | ...
    • তবে, যদি আপনার উত্স ফাইল-সিস্টেমটি পুরো স্থানান্তর করা না হয় তবে ফাইল-সিস্টেম পর্যায়ে পড়া মোটামুটি অনিবার্য and সুতরাং আপনার ইনপুট সামগ্রীগুলি একটি স্ট্রিমে ফেলে রাখা উচিত। paxসেক্ষেত্রে সাধারণত সেরা এবং সবচেয়ে সহজ সমাধান, তবে আপনি এটিও বিবেচনা করতে পারেন mksquashfs

      pax -r /source/tree[12] | lz4 | ...
      mksquashfs /source/tree[12] /dev/fd/1 -comp lz4 | ...
      
  3. সাথে এনক্রিপ্ট করবেন নাssh

    • বিশ্বস্ত মাধ্যমটিতে ওভারহেড এনক্রিপশন যুক্ত করা অপ্রয়োজনীয়, এবং ধ্রুবক স্থানান্তরের গতির পক্ষে মারাত্মক ক্ষতিকারক হতে পারে যে তথ্য পাঠের জন্য দুবার পড়ার প্রয়োজন হয়
    • PRNG পঠিত তথ্য প্রয়োজন, অথবা এটি অন্তত কিছু যদৃচ্ছতা বজায়।
    • এবং অবশ্যই আপনার পাশাপাশি ডেটা স্থানান্তর করতে হবে।
    • আপনাকে নিজেই ওভারহেড এনক্রিপশন স্থানান্তর করতে হবে - যার অর্থ বার্সেটে স্থানান্তরিত কম ডেটার জন্য আরও কাজ করা ।
    • এবং তাই বরং অন্য কোথাও যেমন পরামর্শ দেওয়া হয়েছে তেমন একটি সরল নেটওয়ার্ক অনুলিপির জন্য আপনার netcat( বা, যেমনটি আমি পছন্দ করি, nmapপ্রকল্পটির আরও সক্ষমncat ) ব্যবহার করা উচিত:

      ###  on tgt machine...
      nc -l 9999 > out.lz4
      ###  then on src machine...
      ... lz4 | nc tgt.local 9999
      

1
চমত্কার উত্তর। একটি ছোট ব্যাকরণগত পয়েন্ট - "ফেটে প্রতি বিনিময় দরকার এমন ডেটার পরিমাণ কমিয়ে দিন" - আমি মনে করি আপনি 'বার্স' স্থির-প্রস্থ হওয়ায় তথ্যের ঘনত্ব বাড়ানোর জন্য আপনি সংক্ষেপণ ব্যবহার করছেন এবং তাই এক্সচেঞ্জ করা তথ্যের পরিমাণ স্থির থাকে যদিও বিস্ফোরণ প্রতি স্থানান্তরিত তথ্য আলাদা হতে পারে।
ইঞ্জিনিয়ার ডোলারি

@ ইঞ্জিনিয়ারডোলারি - হ্যাঁ, এটি বোবা ছিল। আমি মনে করি এটি আরও ভাল
মাইক্রোজার্ভ

@ আইকিউআন্দ্রেয়াস - আমি এই উত্তরটি গুরুত্ব সহকারে বিবেচনা করব। ব্যক্তিগতভাবে আমি পিগজ ব্যবহার করি এবং গতি বৃদ্ধি আশ্চর্যজনক । সমান্তরালতা একটি বিশাল জয়; ডেটা পাইপলাইনের অন্য যে কোনও অংশের তুলনায় সিপিইউগুলি দ্রুততর হয় তাই আমি সন্দেহ করি সমান্তরাল সংক্ষেপণ আপনাকে ধীর করে দেবে (জিজিপ সমান্তরাল নয়)। আপনি এটি এত দ্রুত খুঁজে পেতে পারেন যে হার্ড ড্রাইভগুলি জগল করার কোনও উত্সাহ নেই; যদি এটি সামগ্রিকভাবে দ্রুত হয় (ডিস্কের অদলবদলের সময় সহ) আমি অবাক হব না। আপনি সংকোচনের সাথে এবং ছাড়াই বেঞ্চমার্ক করতে পারেন। যাই হোক না কেন, নীলরাজের ডিসস্কপ উত্তর বা এটি আপনার গ্রহণযোগ্য উত্তর হওয়া উচিত।
মাইক এস

দ্রুত সংক্ষেপণ একটি দুর্দান্ত পরামর্শ advice এটি লক্ষ করা উচিত, যদিও, এটি কেবল তখনই সহায়তা করে যদি ডেটা যুক্তিসঙ্গতভাবে সংকোচনযোগ্য হয়, যার অর্থ, উদাহরণস্বরূপ, এটি ইতিমধ্যে সংকোচযুক্ত বিন্যাসে না থাকা উচিত।
ওয়াল্টার ট্রস

@ ওয়াল্টারট্রস - যে কোনও ইনপুট সংকোচনের যোগ্য , কোনও অনুপাত বিবেচনা না করে এতক্ষণ সহায়তা করবে, যতক্ষণ না সংকোচনের কাজটি স্থানান্তর কাজকে ছাড়িয়ে যায়। একটি আধুনিক lz4ফোর -কোর সিস্টেমে কোনও কাজের সহজেই বিস্তৃত খোলা জিআইজি গতিতে হবে এবং ইউএসবি ২.০ সুযোগের পক্ষে দাঁড়ায় না। এছাড়াও, lz4এটি যখন কাজ করা উচিত তখনই এটির জন্য ডিজাইন করা হয়েছিল - এটি আংশিক এত দ্রুত কারণ এটি জানে কখন সংক্ষেপণের চেষ্টা করা উচিত এবং কখন তা করা উচিত নয়। এবং যদি এটি কোনও ডিভাইস-ফাইল স্থানান্তরিত হয়, তবে উত্স ফাইল সিস্টেমে কোনও বিভাজন থাকলেও প্রাক-সংকুচিত ইনপুট কিছুটা সংকুচিত হতে পারে।
মাইকজার্ভ

25

বেশ কয়েকটি সীমাবদ্ধতা রয়েছে যেগুলি স্থানান্তর গতি সীমিত করতে পারে।

  1. 1 জিবিপিএস পাইপে অন্তর্নিহিত নেটওয়ার্ক ওভারহেড রয়েছে। সাধারণত, এটি ACTUAL মাধ্যমে আউটপুট 900 এমবিপিএস বা তারও কম কমে যায়। তারপরে আপনাকে মনে রাখতে হবে যে এটি দ্বিপাক্ষিক ট্র্যাফিক এবং আপনার 900MBS এর চেয়ে কম নিচে প্রত্যাশা করা উচিত।

  2. যদিও আপনি একটি "নতুন-ইশ রাউটার" ব্যবহার করছেন আপনি কি নিশ্চিত যে রাউটারটি 1 জিবিপিএস সমর্থন করে? সমস্ত নতুন রাউটারগুলি 1 জিবিপিএস সমর্থন করে না। এছাড়াও, যদি না এটি কোনও এন্টারপ্রাইজ-গ্রেড রাউটার হয় তবে আপনি সম্ভবত রাউটারের অতিরিক্ত সংক্রমণ ব্যান্ডউইদথটি অকার্যকর হয়ে যাবেন। যদিও আমি নীচে পেয়েছি তার উপর ভিত্তি করে, দেখে মনে হচ্ছে আপনি 100 এমবিপিএসের উপরে যাচ্ছেন।

  3. আপনার নেটওয়ার্ক ভাগ করে নেওয়ার জন্য অন্যান্য ডিভাইস থেকে নেটওয়ার্ক কনজেশন হতে পারে। আপনি যেমনটি করতে পেরেছেন বলে আপনি কি সরাসরি সংযুক্ত তারের ব্যবহার করার চেষ্টা করেছেন?

  4. আপনি কী পরিমাণ ডিস্ক আইও ব্যবহার করছেন? সম্ভবত, আপনি নেটওয়ার্ক দ্বারা নয়, ডিস্ক ড্রাইভের মাধ্যমে সীমাবদ্ধ রয়েছেন। সর্বাধিক 7200 আরপিএম এইচডিডি কেবল প্রায় 40 এমবি / এস পাবেন। আপনি কি আদৌ অভিযান চালাচ্ছেন? আপনি কি এসএসডি ব্যবহার করছেন? দূরবর্তী প্রান্তে আপনি কী ব্যবহার করছেন?

ব্যাকআপগুলির জন্য এটি পুনরায় চালিত হওয়ার আশা করা হয় তবে আমি rsync ব্যবহার করার পরামর্শ দিচ্ছি। অপর প্রান্তে ফাইলজিলার মতো ডাউনলোডার ব্যবহার করে আপনি স্কেপ, এফটিপি (গুলি) বা এইচটিপি করতে পারেন কারণ এটি ssh / HTTP / https / ftp সংযোগগুলিকে সমান্তরাল করে তুলবে। অন্য দ্রবণগুলি একক পাইপের উপরে চলে যাওয়ায় এটি ব্যান্ডউইথকে বাড়িয়ে তুলতে পারে। একটি একক পাইপ / থ্রেড এখনও এটি একক থ্রেডযুক্ত দ্বারা সীমাবদ্ধ, যার অর্থ এটি সিপিইউ বাউন্ডও হতে পারে।

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

আপনার 80 গিগাবাইট / ঘন্টা প্রদত্ত উদাহরণের ভিত্তিতে আপনি প্রায় 177 এমবিপিএস (22.2MB / গুলি) পাচ্ছেন। আমি মনে করি আপনি এই দুটি বাক্সের মধ্যে একটি ডেডিকেটেড ইথারনেট লাইনে আরএসসিএন দিয়ে সহজেই দ্বিগুণ করতে পারবেন কারণ আমি গিগাবিট দিয়ে আরএসসিএনসি দিয়ে আমার নিজের পরীক্ষায় এটি পরিচালনা করতে পেরেছি।


12
জন্য +1 rsync। আপনি চালানোর প্রথম সময়টি এটির চেয়ে দ্রুত নাও হতে পারে তবে পরবর্তী সময়ে এটি অবশ্যই হবে।
Skrrp

4
> সর্বাধিক 7200 আরপিএম এইচডিডি কেবল প্রায় 40 এমবি / এস পাবেন। আইএমই আপনি আধুনিক ড্রাইভের সাথে ১০০ এমবি / সিক্যুয়াল বেশি দেখতে পাবেন (এবং এতে ~ 5k ড্রাইভ রয়েছে)। যদিও এটি একটি পুরানো ডিস্ক হতে পারে।
বব

2
@ Bob: এই আধুনিকরা এখনও প্রতি মিনিটে কেবল 5400 টি বিজ্ঞপ্তি ট্র্যাক পড়তে পারেন। এই ডিস্কগুলি এখনও দ্রুত কারণ প্রতিটি ট্র্যাকটিতে একটি মেগাবাইটের চেয়ে বেশি থাকে। এর অর্থ এই যে তারা বেশ বড় ডিস্কও রয়েছে, একটি ছোট 320 জিবি ডিস্ক ট্র্যাকে অনেক বেশি কিলোবাইট রাখতে পারে না, যা অগত্যা তাদের গতি সীমাবদ্ধ করে।
এমসাল্টারস

1
40MB / সেকেন্ড স্পষ্টভাবে হয় খুব গত এক দশকে তৈরি করা কোন ড্রাইভের জন্য অনুক্রমিক পঠিত জন্য হতাশাপূর্ণ। বব যেমন বলেছেন ততক্ষণে বর্তমান 7200RPM ড্রাইভ 100MB / s ছাড়িয়ে যেতে পারে।
hobbs

3
গিগাবিট ইথারনেট 1000 এমবিপিএস ফুল ডুপ্লেক্স । আপনি প্রতিটি দিকনির্দেশে 1000 এমবিপিএস (বা আপনি যেমন বলছেন যে বাস্তবে 900 এমবিপিএস) পাবেন । দ্বিতীয় ... হার্ড ড্রাইভগুলি এখন নিয়মিত 100 এমবি / সেকেন্ড পান। 40 এমবি / সেকেন্ড ধীর গতির, যদি না এটি এক দশক পুরানো ড্রাইভ।
ডারোবার্ট

16

আমরা নিয়মিত এটি মোকাবেলা।

দুটি প্রধান পদ্ধতি যা আমরা ব্যবহার করি তা হ'ল:

  1. সময় SATA / অন্তর্গত eSATA / sneakernet
  2. সরাসরি এনএফএস মাউন্ট, তারপরে স্থানীয় cpবাrsync

প্রথমটি ড্রাইভটি শারীরিকভাবে স্থানান্তরিত করা যায় কিনা তার উপর নির্ভরশীল। এই সবসময় তা হয় না।

দ্বিতীয়টি আশ্চর্যজনকভাবে ভাল কাজ করে। সাধারণত আমরা সরাসরি এনএফএস মাউন্টগুলির সাহায্যে খুব সহজেই 1 জিবিপিএস সংযোগ সর্বাধিক আউট করি। আপনি স্কেপ, ডিডি ওভার এসএসএস বা এর মতো অন্য কোনও কিছুর সাথে এই কোথাও পাবেন না (আপনি প্রায়শই সর্বাধিক হারে সন্দেহজনকভাবে 100 এমপিবিএসের কাছাকাছি পাবেন)। এমনকি খুব দ্রুত মাল্টিকোর প্রসেসরগুলিতে আপনি দুটি মেশিনের সবচেয়ে ধীর গতির একটির সর্বাধিক ক্রিপ্টো থ্রুটপুটটিতে একটি বাধা সৃষ্টি করতে পারেন, যা একটি আন-এনক্রিপ্ট করা নেটওয়ার্ক মাউন্টের পূর্ণ-বোর সিপি বা আরএসএনসি-র তুলনায় হতাশাজনকভাবে ধীর। মাঝেমধ্যে আপনি কিছুক্ষণের জন্য একটি আইপস প্রাচীরটি আঘাত করবেন এবং আরও সাধারণ ~ 110MB / s এর পরিবর্তে প্রায় ~ 53MB / s এ আটকে যাবেন, তবে উত্স বা গন্তব্যটি প্রকৃতপক্ষে না হলে এটি সাধারণত স্বল্পস্থায়ী হয়একটি একক ড্রাইভ, তারপরে আপনি নিজেই ড্রাইভের টেকসই হারের দ্বারা সীমাবদ্ধ হয়ে যেতে পারেন (যা এলোমেলো কারণে যথেষ্ট পরিমাণে পরিবর্তিত হয় যতক্ষণ না আপনি আসলে এটি ব্যবহার না করা পর্যন্ত জানেন না) - মেহ।

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

সম্পাদনা

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

ভবিষ্যতে প্রুফিং

এই পরামর্শটি ২০১৫ সালের মাঝামাঝি পর্যন্ত দাঁড়িয়েছে। এই প্রায় হবে অবশ্যই না অনেকগুলি বছরের কেনার ক্ষেত্রে দেখা হবে। সুতরাং নুনের দানার সাথে সবকিছু নিয়ে যান এবং আপনি যদি নিয়মিত এই কাজটির মুখোমুখি হন তবে কল্পনা করার পরিবর্তে প্রকৃত লোডগুলির জন্য বিভিন্ন পদ্ধতির চেষ্টা করুন আপনি তাত্ত্বিক অনুকূলগুলির নিকটে কিছু পাবেন, এমনকি ওয়েবের মতো জিনিসগুলির জন্য সাধারণভাবে সংক্ষেপণ / ক্রিপ্টো থ্রুটপুট রেটগুলিও পাবেন observed ট্র্যাফিক, যার বেশিরভাগই পাঠ্যগত (প্রটপ: বাল্ক স্থানান্তরগুলি সাধারণত ইমেজ, অডিও, ভিডিও, ডাটাবেস ফাইল, বাইনারি কোড, অফিস ফাইলের ফর্ম্যাট ইত্যাদির সমন্বয়ে থাকে যা ইতিমধ্যে সংক্রামিত areতাদের নিজস্ব উপায়ে এবং অন্য একটি সংক্ষেপণ রুটিনের মধ্য দিয়ে চালানো থেকে খুব সামান্যই উপকৃত হন, যার মধ্যে ইতিমধ্যে সংকোচিত বাইনারি ডেটার সাথে সামঞ্জস্য না করার গ্যারান্টিযুক্ত সংক্ষিপ্ত ব্লকের আকার ...)।

আমি কল্পনা করেছি যে ভবিষ্যতে এসসিটিপির মতো ধারণাগুলি আরও আকর্ষণীয় স্থানে নিয়ে যাওয়া হবে, যেখানে বন্ধনযুক্ত সংযোগগুলি (বা অভ্যন্তরীণভাবে বন্ডেড-বাই-স্পেকট্রাম চ্যানেলযুক্ত ফাইবার সংযোগগুলি) সাধারণ, এবং প্রতিটি চ্যানেল অন্যদের থেকে আলাদা স্ট্রিম গ্রহণ করতে পারে এবং প্রতিটি স্ট্রিম সমান্তরাল ইত্যাদি সংকুচিত / এনক্রিপ্ট করা যায় ইত্যাদি That তবে এটি আজ 2015 নয়, এবং কল্পনা করা এবং তাত্ত্বিককরণটি দুর্দান্ত হলেও আমাদের বেশিরভাগের কাছে কাস্টো স্টোরের ক্লাস্টারগুলি নেই একটি ক্রাইও-চেম্বারে ফিডিং ডেটা যা সরাসরি ব্লু জিন / কিউ জবাব জেনারেটাল উত্তর দেয় ওয়াটসনের জন্য। এটি ঠিক বাস্তবতা নয়। সংক্ষেপণ একটি ভাল ধারণা কিনা তা নির্ধারণ করার জন্য বা আমাদের ডেটা পেলোডের বিশদ বিশ্লেষণ করার মতো সময় নেই - আমাদের বিশ্লেষণ শেষ করার আগেই স্থানান্তরটি শেষ হয়ে যাবে,

কিন্তু ...

সময় পরিবর্তন এবং সংক্ষেপণ এবং এনক্রিপশনের বিরুদ্ধে আমার প্রস্তাব স্থির থাকবে না। আমি সত্যিই ভালবাসে, তাদের জন্য এই উপদেশ মধ্যে উল্টে করা হবে টিপিক্যাল কেস খুব শীঘ্রই। এটি আমার জীবনকে আরও সহজ করে তুলবে।


1
@ জোফেল কেবল তখনই যখন প্রসেসরের সংকোচনের মাধ্যমে নেটওয়ার্কের গতি ধীর হয় - যা কখনই 1 জিপিবিএস বা উচ্চতর সংযোগের ক্ষেত্রে সত্য নয়। সাধারণ ক্ষেত্রে, যদিও নেটওয়ার্কটি হ'ল বাধা, এবং সংক্ষেপণ কার্যকরভাবে জিনিসগুলিকে গতি দেয় - তবে ওপি বর্ণনা করে এমনটি নয়।
zxq9

2
lz4জিগই বাধা না দেওয়ার পক্ষে যথেষ্ট দ্রুত, তবে আপনি অনুলিপিটি দিয়ে কী করতে চান তার উপর নির্ভর করে আপনার এটি সঙ্কুচিত হতে পারে। lzop খুব দ্রুত। আমার আই 5-2500k স্যান্ডিব্রিজে (3.8GHz), lz4 < /dev/raid0 | pv -a > /dev/nullগিগের জন্য ঠিক ডানদিকে ~ 180MB / s ইনপুট, ~ 105MB / s আউটপুট যায়। প্রাপ্তির দিক থেকে সঙ্কোচন করা সিপিইউতে আরও সহজ।
পিটার কর্ডেস

1
এছাড়াও, বেশিরভাগ সার্ভার প্রসেসরগুলি চালানোর চেয়ে 3.8GHz মোটামুটি দ্রুত (বা কোনও স্বাদের অনেকগুলি ব্যবসায়-গ্রেড সিস্টেম, কমপক্ষে যা আমি দেখতে অভ্যস্ত)। ডেটা সেন্টারগুলিতে অনেক কম ঘড়ির গতি সহ অনেক উচ্চতর কোর গণনাগুলি দেখতে আরও সাধারণ। স্থানান্তর লোডের সমান্তরালকরণ দীর্ঘকাল ধরে সমস্যা হয়ে ওঠে না, তাই আমরা বেশিরভাগ ক্ষেত্রেই একক কোরের সর্বোচ্চ গতিতে আটকে আছি - তবে আমি আশা করি এটি এখন পরিবর্তিত হবে যে ক্লকস্পিডগুলি সাধারণত বাড়িয়ে তোলা হয় তবে নেটওয়ার্কের গতিতে এখনও একটি রয়েছে তাদের সর্বোচ্চ সর্বাধিক হিট করার আগে দীর্ঘ পথ যেতে হবে।
zxq9

2
সংকোচনের বিষয়ে আপনার মন্তব্যের সাথে আমি সম্পূর্ণ একমত নই। এটি সম্পূর্ণভাবে ডেটা সংকোচনের উপর নির্ভর করে। আপনি যদি একটি 99.9% সংক্ষেপণ অনুপাত পেতে পারেন তবে তা না করা বোকামি হবে - আপনি যখন 100 এমবি স্থানান্তর করে দূরে যেতে পারেন তখন কেন 100 জিবি স্থানান্তর করবেন? আমি প্রস্তাব দিচ্ছি না যে এই স্তরের সংকোচনের বিষয়টি এই প্রশ্নের ক্ষেত্রে, কেবল এটি দেখিয়ে যা কেস ভিত্তিতে এই ক্ষেত্রে বিবেচনা করা উচিত এবং এর কোনও নিরঙ্কুশ বিধি নেই।
ইঞ্জিনিয়ার ডোলারি

1
@EngineerDollery এই বাল্ক স্থানান্তর আউট খেলা না এ সব বাস্তব জগতে। আমি প্রায় প্রতিদিন এটি করি এবং বিভিন্ন পদ্ধতি এবং সেটিংস পরীক্ষা করেছি। সাধারণ ক্ষেত্রে অজানা তথ্যের বৃহত পরিমাণে স্থানান্তর (যে কোনও কিছুতে আপনার সংকোচনের সুরের পরীক্ষা চালানোর সময় নেই - যার অর্থ কোনও ডেটা সেন্টার, কর্পোরেট ইনফ্রাস্ট্রাকচার, ছোট ব্যবসায়ের সার্ভার বা হোম নেটওয়ার্কের প্রায় প্রতিটি জিনিসই অনেক বেশি ) 1 জিবিপিএস বা উচ্চতর সংযোগ জুড়ে দ্রুত। যাও চেষ্টা করে দেখুন। সংক্ষিপ্তসার জন্য পাঠ্য সাধারণত সেরা-কেস। পাঠ্যে একটি সাধারণ বাল্ক ট্রান্সফার পেইডের একটি ক্ষুদ্র ভগ্নাংশ থাকে।
zxq9

6

একটি নিফটি সরঞ্জাম যা আমি অতীতে ব্যবহার করেছি bbcp। যেমনটি এখানে দেখা হয়েছে: https://www.slac.stanford.edu/~abh/bbcp/

Http://pcbunn.cithep.caltech.edu/bbcp/ using_bbcp.htm এও দেখুন

এই সরঞ্জামটির সাথে আমার খুব দ্রুত স্থানান্তর গতি ছিল।


1
এই উত্তরের দ্বিতীয় লিঙ্কটি কীভাবে উচ্চ গতিতে পৌঁছতে কার্নেল প্যারামিটারগুলি টিউন করবেন তা ব্যাখ্যা করে। সেখানে লেখক 10 জি লিঙ্কে প্রতি সেকেন্ডে 800 মেগাবাইট পান এবং কিছু জিনিস 1 জিবিপি লিঙ্কগুলিতে প্রযোজ্য বলে মনে হয়।
স্টাফেন গৌরিচন

5

যদি আপনি কোনওভাবেই প্রথম পাস পান (তারে / স্নিকার্নেট / যাই হোক না কেন), আপনি rsyncকিছু নির্দিষ্ট বিকল্পের সাথে সন্ধান করতে পারেন যা পরবর্তী স্থানান্তরকে ব্যাপকভাবে গতিতে পারে। যাওয়ার খুব ভাল উপায় হ'ল:

rsync -varzP sourceFiles destination

বিকল্পগুলি হ'ল: ভারবোজ, সংরক্ষণাগার মোড, পুনরাবৃত্ত, সংকোচন, আংশিক অগ্রগতি


2
নেটক্যাটের চেয়ে Rsync বেশি নির্ভরযোগ্য, তবে সংরক্ষণাগারটি পুনরাবৃত্তিকে বোঝায় তাই r অপ্রয়োজনীয়।
তনাথ

এছাড়াও, -zআপনার সিপিইউ এবং আপনি কোন ডেটা প্রক্রিয়া করছেন তার উপর নির্ভর করে অবিশ্বাস্য ধীর হতে পারে। সংক্ষেপণ অক্ষম করার সময় আমি 30 এমবি / সেকেন্ড থেকে 125 এমবি / সেকেন্ডে স্থানান্তর স্থানান্তরিত করেছি।
লিন্ডে

4

জ্যাকসের উত্তরের মন্তব্যে মূল পোস্টারটির জেদের সাথে যুক্ত করা হয়েছে, যদিও আমি নিশ্চিত না যে এটি সাধারণ পরিস্থিতিতে এটি সবচেয়ে দ্রুত

bashএকটি বিশেষ পুনর্নির্দেশ সিনট্যাক্স রয়েছে:
আউটপুট জন্য:      > /dev/tcp/আইপি /পোর্ট
ইনপুট জন্য:       < /dev/tcp/আইপি /পোর্ট
আইপি নিষেধাজ্ঞাগুলি বিন্দু-দশমিক আইপি বা হোস্টনাম হতে পারে; পোর্ট নিষেধাজ্ঞার দশমিক সংখ্যা বা কোনও বন্দর নাম হতে হবে /etc/services

কোনও আসল /dev/tcp/ডিরেক্টরি নেই। এটি একটি বিশেষ সিনট্যাকটিক কাল্জ যা bashটিসিপি সকেট তৈরি করতে, নির্দিষ্ট গন্তব্যটিতে এটি সংযোগ স্থাপনের নির্দেশ দেয় এবং তারপরে সাধারণ ফাইল পুনর্নির্দেশের মতো একই কাজ করুন (যেমন, ডুপ 2 (2)) ব্যবহার করে সকেটের সাথে সম্পর্কিত মানের প্রবাহটি প্রতিস্থাপন করুন।

সুতরাং, কেউ সরাসরি টিসিপির মাধ্যমে উত্স মেশিন থেকে ddবা স্ট্রিম করতে পারেন can tarঅথবা, বিপরীতে, tarসরাসরি টিসিপির মাধ্যমে ডেটা বা অন্য কিছুকে প্রবাহিত করতে। যাই হোক না কেন, একটি অতিরিক্ত অতিরিক্ত নেটক্যাট নির্মূল করা হয়।

নেটকাট সম্পর্কে নোটস

নেই শাস্ত্রীয় netcat এবং গনুহ netcat মধ্যে সিনট্যাক্স মধ্যে কোনও অসঙ্গতি । আমি যে ধ্রুপদী সিনট্যাক্সের অভ্যস্ত তা ব্যবহার করব। প্রতিস্থাপন -lpসঙ্গে -lগনুহ netcat জন্য।

এছাড়াও, আমি নিশ্চিত না যে জিএনইউ নেটকাটটি -qসুইচটি গ্রহণ করে কিনা ।

ডিস্ক চিত্র স্থানান্তর করা হচ্ছে

(জ্যাকস এর উত্তরের লাইন বরাবর।)
গন্তব্যস্থলে:

nc -lp 9999 >disk_image

উত্স উপর:

dd if=/dev/sda >/dev/tcp/destination/9999
 

এর সাথে একটি tar.gz সংরক্ষণাগার তৈরি করা হচ্ছে tar

গন্তব্যস্থলে:

nc -lp 9999 >backup.tgz

উত্স উপর:

tar cz files or directories to be transferred >/dev/tcp/destination/9999

প্রতিস্থাপন .tgzসঙ্গে .tbzএবং czসঙ্গে cjএকটি পেতে bzip2-compressed আর্কাইভ।

ফাইল সিস্টেমে তাত্ক্ষণিক প্রসারণের সাথে স্থানান্তর করা

সাথেও tar
গন্তব্যস্থলে:

cd backups
tar x </dev/tcp/destination/9999

উত্স উপর:

tar c files or directories to be transferred |nc -q 1 -lp 9999

এটি ছাড়াই কাজ করবে -q 1, তবে ডেটা শেষ হয়ে গেলে নেটক্যাট আটকে যাবে। এর সিনট্যাক্স এবং ক্যাভ্যাটগুলির ব্যাখ্যার জন্য ট্যার (1) দেখুন tar। যদি হাই রিডানডেনসি (লো এন্ট্রপি) সহ অনেকগুলি ফাইল থাকে, তবে সংক্ষেপণ ( উদাহরণস্বরূপ czএবং এর xzপরিবর্তে cএবং x) চেষ্টা করা যেতে পারে, তবে ফাইলগুলি সাধারণ এবং নেটওয়ার্ক পর্যাপ্ত দ্রুত হয়, তবে এটি কেবল প্রক্রিয়াটি ধীর করবে। সংক্ষেপণ সম্পর্কে বিশদ জানতে মাইক্রজারের উত্তর দেখুন।

বিকল্প শৈলী (গন্তব্য পোর্ট শুনে)

গন্তব্যস্থলে:

cd backups
nc -lp 9999 |tar x

উত্স উপর:

tar c files or directories to be transferred >/dev/tcp/destination/9999

ফাইলটি অপেক্ষা করার জন্য এবং কোনও ফাইল পাওয়ার জন্য, প্রকৃতপক্ষে কোনও সকেটে "শ্রবণ" করতে পারে না: unix.stackexchange.com/questions/49936/… সুতরাং আপনাকে সংযোগের কমপক্ষে অর্ধেকের জন্য অন্য কিছু ব্যবহার করতে হবে ...
রজারডপ্যাক

3

সরাসরি সংযোগগুলি সম্পর্কিত এবং এসএসএসের মতো এনক্রিপ্ট হওয়া প্রোটোকলগুলি এড়ানো সম্পর্কিত পরামর্শগুলি ব্যবহার করে দেখুন তারপরেও যদি আপনি এখনও প্রতিটি বিট পারফরম্যান্স উপস্থাপন করতে চান তবে আপনার টিসিপি উইন্ডোগুলি অনুকূল করার বিষয়ে কিছু পরামর্শের জন্য https://fasterdata.es.net/host-tuning/linux/ পড়ুন site


2

আমি এই স্ক্রিপ্টটি ব্যবহার করব যা আমি লিখেছি যে socatপ্যাকেজ প্রয়োজন।

উত্স মেশিনে:

tarnet -d wherefilesaretosend pass=none 12345 .

লক্ষ্য মেশিনে:

tarnet -d wherefilesaretogo pass=none sourceip/12345

যদি vbufপ্যাকেজ (দেবিয়ান, উবুন্টু) থাকে তবে ফাইল প্রেরক একটি ডেটা অগ্রগতি দেখায়। ফাইল রিসিভারটি কী ফাইলগুলি প্রাপ্ত তা দেখায়। পাস = বিকল্পটি ব্যবহার করা যেতে পারে যেখানে ডেটা উন্মুক্ত হতে পারে (ধীর)।

সম্পাদনা:

-nসংক্ষেপণ অক্ষম করতে বিকল্পটি ব্যবহার করুন , যদি সিপিইউ বোতলের ঘাড় হয়।


2

বাজেট যদি প্রধান উদ্বেগ না হয় তবে আপনি ড্রাইভগুলিকে একটি ইন্টেল জিওন ই 5 12 কোর "ড্রাইভ সংযোজক" দিয়ে সংযুক্ত করার চেষ্টা করতে পারেন। এই সংযোজকটি সাধারণত এত শক্তিশালী যে আপনি এটিতে আপনার বর্তমান সার্ভার সফটওয়্যারটি চালাতে পারেন। উভয় সার্ভার থেকে!

এটি মজাদার উত্তরের মতো দেখতে পারে তবে আপনি কেন সার্ভারের মধ্যে ডেটা সরিয়ে নিচ্ছেন এবং ভাগ করে নেওয়া মেমরি এবং স্টোরেজ সহ যদি কোনও বড় ব্যক্তি আরও অর্থ বোধ করতে পারে তবে আপনার সত্যিই বিবেচনা করা উচিত।

বর্তমান চশমা সম্পর্কে নিশ্চিত না, তবে ধীর স্থানান্তরটি ডিস্কের গতিতে সীমাবদ্ধ হতে পারে, নেটওয়ার্ক নয়?


1

আপনি যদি কেবল ব্যাকআপগুলি সম্পর্কে চিন্তা করেন, এবং হার্ড ড্রাইভের বাইট কপির জন্য কোনও বাইট সম্পর্কে না, তবে আমি ব্যাকআপপিসির পরামর্শ দেব recommend http://backuppc.sourceforge.net/faq/BackupPC.html সেটআপ করতে কিছুটা ব্যথা হলেও এটি খুব দ্রুত স্থানান্তরিত হয়।

প্রায় 500G ডেটার জন্য আমার প্রাথমিক স্থানান্তর সময়টি প্রায় 3 ঘন্টা ছিল। পরবর্তী ব্যাকআপগুলি প্রায় 20 সেকেন্ডের মধ্যে ঘটে।

যদি আপনার ব্যাকআপগুলিতে আগ্রহী না হয়, তবে জিনিসগুলি সিঙ্ক করার চেষ্টা করছেন তবে আরএসসিএন বা একত্রীকরণ আপনার প্রয়োজনের সাথে আরও ভাল ফিট করে।

হার্ড ডিস্কের বাইট কপির জন্য বাইট হ'ল ব্যাকআপ উদ্দেশ্যে (একটি বর্ধিতকরণ, কোনও স্থান সঞ্চয় না করে, ড্রাইভ ব্যবহার করা যায় না, আপনাকে "খালি স্থান" ব্যাকআপ করতে হয়, এবং আপনাকে আবর্জনা ব্যাক আপ করতে হবে) (একটি 16 জি অদলবদল ফাইলের মতো অথবা 200G কোর ডাম্প বা এর মতো কিছু) আরএসসিএনসি (বা ব্যাকআপসি বা অন্যদের) ব্যবহার করে আপনি সময়মতো "স্ন্যাপশট" তৈরি করতে পারেন যাতে আপনি "30 মিনিট আগে আপনার ফাইল সিস্টেমটি দেখতে কেমন" দেখতে যেতে পারেন খুব সামান্য ওভারহেড

এটি বলেছে, যদি আপনি সত্যিই বাইট কপির জন্য একটি বাইট স্থানান্তর করতে চান তবে আপনার সমস্যাটি ট্রান্সফারটিতে এবং ড্রাইভ থেকে প্রাপ্ত ডেটা না করেই মিথ্যা হয়ে যাচ্ছে। ৪০০ জি র‌্যামের সাথে একটি 320 জি ফাইল ট্রান্সফারটি খুব লিংক সময় নিতে চলেছে। এনক্রিপ্ট করা হয়নি এমন প্রোটোকলগুলি ব্যবহার করা একটি বিকল্প, তবে যাই হোক না কেন, আপনার কেবল সেখানে বসে বেশ কয়েক ঘন্টা (নেটওয়ার্কে) অপেক্ষা করতে হবে।


1
কীভাবে 400 জি র‌্যাম ডেটা স্থানান্তরকে গতি দেয়?
স্কেপেরেন

নিশ্চিত নয় যে এটি উদ্দেশ্য ছিল, তবে আমি এটি "র্যাম থেকে র‍্যাম ট্রান্সফার হতে কিছুটা মাঝারি ধীরে ধীরে সময় নিতে চলেছে" হিসাবে পড়লাম, "400 গিগাবাইট র‌্যাম কিনুন এবং আপনার এইচডিডি থেকে এইচডিডি স্থানান্তরটি আরও দ্রুত যাবে"।
মাইকেলস

হ্যাঁ, রাম আপনার জন্য বাফার করবে এবং এটি আরও দ্রুত মনে হবে। আপনি সমস্তভাবে র‌্যামের বাফারিংয়ের সাথে একটি এইচডি থেকে এইচডি স্থানান্তর করতে পারেন এবং এটি খুব দ্রুত মনে হবে। এটি ডিস্কে ফ্লাশ করতে যথেষ্ট নষ্ট করে ফেলবে, তবে এইচডি থেকে র‌্যাম থেকে র‌্যাম থেকে এইচডি আরও দ্রুত আবার এইচডি থেকে এইচডি। (মনে রাখবেন আপনাকে যেভাবেই হোক র‌্যাম থেকে র‌্যাম থেকে এইচডি করতে হবে তবে আপনার যদি কম থাকে তবে আপনার র‌্যামের পুরো স্থানান্তর আকার আপনাকে বিভাগগুলিতে "ফ্লাশ" করতে হবে))
কোটায়ার

রাখার আরেকটি উপায় হ'ল সংকুচিত করা বা এমনকি পুরো উত্স ড্রাইভটি প্রেরণ করতে রামে পড়তে হবে। যদি এটি একবারে পুরোপুরি ফিট না করে তবে সেগমেন্টটি পড়তে হবে, সেগমেন্টটি প্রেরণ করতে হবে, সেগমেন্টটি বাতিল করতে হবে, সেগমেন্টটি সন্ধান করতে হবে, সেগমেন্টটি পড়তে হবে etc. ইত্যাদি যদি এটি একবারে পুরোপুরি ফিট হয় তবে এটি কেবল একবারে সমস্তটি পড়তে হবে। গন্তব্য একই।
কোটায়ার

1
এইচডি থেকে র‌্যাম টু র‌্যাম থেকে এইচডি দ্রুত তবে এইচডি থেকে এইচডি কীভাবে দ্রুত হয়?
AL

1

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

এছাড়াও, আপনি যদি কোনও মধ্যবর্তী ড্রাইভ ব্যবহার করতে যাচ্ছেন তবে এটি বিবেচনা করুন: একটি বাহ্যিক ড্রাইভ পান (হয় প্যাকেজ হিসাবে, বা একটি ডকিং স্টেশনে প্লাগড করা একটি পৃথক ড্রাইভ) যা ইউএসবি পরিবর্তে ইএসএটিএ ব্যবহার করে। তারপরে দুটি কম্পিউটারে প্রতিটি একটি হয় একটি ইসটা পোর্ট সহ একটি কার্ড ইনস্টল করুন, বা একটি সাধারণ অ্যাডাপ্টার কেবল যা কোনও অভ্যন্তরীণ SATA বন্দরকে একটি বহিরাগত eSATA সংযোগকারীতে নিয়ে আসে। তারপরে উত্স কম্পিউটারে ড্রাইভটি প্লাগ করুন, ড্রাইভটি শক্তিশালী করুন এবং এটি অটো-মাউন্ট হওয়ার জন্য অপেক্ষা করুন (আপনি ম্যানুয়ালি মাউন্ট করতে পারেন, তবে আপনি যদি বার বার এটি করছেন তবে আপনি এটি আপনার fstab ফাইলে রেখে দিতে পারেন)। তারপরে অনুলিপি করুন; আপনি একটি অভ্যন্তরীণ ড্রাইভ হিসাবে একই গতিতে লিখতে হবে। তারপরে ড্রাইভটি আনমাউন্ট করুন, পাওয়ার ডাউন হবে, অন্য কম্পিউটারে প্লাগ ইন করুন, পাওয়ার আপ করুন, একটি স্বয়ংক্রিয়-মাউন্টের জন্য অপেক্ষা করুন এবং পড়ুন।


2
আপনি কীভাবে ফাইলগুলি "টানছেন" তার সুনির্দিষ্ট বিবরণ সরবরাহ করতে পারেন? আপনি কোন ইউটিলিটিগুলি ব্যবহার করছেন এবং আপনি এই প্রভাবটি দেখানোর জন্য কোনও নমুনা সরবরাহ করতে পারেন?
এসটিডাব্লু

এটি আরও সম্পূর্ণ উত্তর হবে কিনা তা সম্পর্কে আমি নিশ্চিত নই, তবে এই পরিস্থিতিটি বিবেচনা করুন: ধরুন আপনার কাছে দুটি কম্পিউটার রয়েছে, ফু এবং বার এবং আপনি foo থেকে বারে ডেটা অনুলিপি করতে চান। (1) আপনি foo এ লগইন করেন, তারপরে দূরবর্তী ড্রাইভটি যা শারীরিকভাবে বারের সাথে সংযুক্ত থাকে mount তারপরে আপনি foo এর ডিস্ক থেকে রিমোটলি মাউন্টড ডিরেক্টরিতে অনুলিপি করুন (যা শারীরিকভাবে বারে রয়েছে)। আমি এটি অন্য কম্পিউটারে তথ্য পুশিং বলেছি। (২) এটি একই ডেটা অনুলিপি করার অন্যান্য উপায়ে তুলনা করুন। বারে লগ ইন করুন, ফু-র সাথে সংযুক্ত ডিরেক্টরিটি রিমোট-মাউন্ট করুন এবং foo থেকে বারের ড্রাইভে পড়ুন। এই টানছে।
মাইক Ciaraldi

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

1

আমি আপনাকে সুপারিশ করতে যাচ্ছি যে আপনি এনআইসি-টিমিংয়ের দিকে তাকান। এটি সমান্তরালভাবে চলমান একাধিক নেটওয়ার্ক সংযোগগুলি ব্যবহারের সাথে জড়িত। ধরে নিই যে আপনার সত্যিই 1 জিবি-র বেশি স্থানান্তর প্রয়োজন, এবং 10 জিবি ব্যয়বহুল, এনআইসি-টিমিং দ্বারা সরবরাহ করা 2 জিবিএস একটি স্বল্প ব্যয় হবে এবং আপনার কম্পিউটারগুলিতে ইতিমধ্যে অতিরিক্ত বন্দর থাকতে পারে।


আপনি যদি এলএসিপি (লিঙ্ক একীকরণ নিয়ন্ত্রণ প্রোটোকল) উল্লেখ করছেন তবে আপনি গতি বৃদ্ধি পাচ্ছেন না। এটি রিডানডেন্সি এবং আরও সমবর্তী সংযোগগুলি সরবরাহ করার কিছু ক্ষমতা সরবরাহ করেছে তবে এটি এই ধরণের স্থানান্তরটির গতি বাড়িয়ে দেবে না।
STW

@ এসটিডব্লিউ: এটিতে একটি মেশিনের দুটি লিঙ্ককে 2 জিবি লিঙ্কে একত্রিত করতে সুইচ সমর্থন প্রয়োজন, তবে এটি সম্ভব। যদিও উভয় মেশিনের স্যুইচটিতে 2 গিগাবাইট লিঙ্ক রয়েছে তবেই সহায়ক । আপনার যদি এনআইসি চালিত দুটি </> এনআইসি চালিত থাকে তবে কোনও সুইচ নেই, এটি খুব কার্যকর হওয়া উচিত, তবে এটি খুব কার্যকর নয় (যদি না আপনার কাছে একটি মেশিনে তৃতীয় এনআইসি থাকে তবে সেগুলি ইন্টারনেটে সংযুক্ত রাখতে)।
পিটার কর্ডস

সুইচগুলিতে এই বৈশিষ্ট্যের জন্য কোনও নির্দিষ্ট নাম আছে?
এসটিডাব্লু

এনআইসি-টিমিং, ইথারচ্যানেল ইত্যাদির বিভিন্ন প্রকরণ রয়েছে ST এটি একচেটিয়া আইপি সকেটের জন্য বন্ধনযুক্ত চ্যানেলটির পারফরম্যান্সকে গতি দেয় কিনা তা নেমে আসে। এটি আপনার জন্য কার্যকর সমাধান কিনা তা নির্ধারণ করার জন্য আপনাকে বিশদগুলি গবেষণা করতে হবে।
বায়রন জোনস

802.3 এড ওপেন স্ট্যান্ডার্ড যা আপনি নিজের স্যুইচগুলিতে সন্ধান করবেন। দ্রুত হ্যাক হিসাবে, যদিও আপনি কেবল নেটওয়ার্কের সাথে অতিরিক্ত এনআইসি সংযুক্ত করতে পারেন এবং তাদের ব্যক্তিগত ঠিকানা স্পেসে পৃথক সাবনেটগুলিতে উপযুক্ত আইপি ঠিকানাগুলি দিতে পারেন give (হোস্ট 1 পোর্ট একটি এবং হোস্ট 2 পোর্ট একটি একটি সাবনেট, হোস্ট 1 পোর্ট বি এবং হোস্ট 2 পোর্ট বি আরেকটি সাবনেট পান)। তারপরে স্থানান্তরটি করতে দুটি সমান্তরাল কাজ চালান। এটি ইথারচ্যানেল, ৮০২.৩ এড ইত্যাদির ইনস এবং আউটস শিখার চেয়ে অনেক সহজ হবে
ড্যান প্রাইটস

1

এফডাব্লুআইডাব্লু, আমি সর্বদা এটি ব্যবহার করেছি:

tar -cpf - <source path> | ssh user@destserver "cd /; tar xf -"

এই পদ্ধতিটি সম্পর্কে বিষয়টি হ'ল এটি মেশিনগুলির মধ্যে ফাইল / ফোল্ডার অনুমতিগুলি বজায় রাখবে (একই ব্যবহারকারী / গোষ্ঠী উভয়টিতে উপস্থিত রয়েছে ধরে নেওয়া) (এছাড়াও আমি সাধারণত ভার্চুয়াল ডিস্ক চিত্রগুলি অনুলিপি করতে এটি করি যেহেতু আমি বিচ্ছিন্ন ফাইলগুলি হ্যান্ডেল করার জন্য একটি -S প্যারামিটার ব্যবহার করতে পারি। )

কেবলমাত্র দুটি ব্যস্ত সার্ভারের মধ্যে এটি পরীক্ষা করা হয়েছে এবং 216s (প্রায় 64MB / s) এর মধ্যে 14 গিগাবাইট ডলার পরিচালনা করেছেন - ডেডিকেটেড মেশিন এবং / অথবা সংক্ষেপণের মধ্যে আরও ভাল করতে পারে ... ওয়াইএমএমভি

$ date; tar -cpf - Installers | ssh elvis "cd /home/elvis/tst; tar xf -"; date
Wed Sep  9 15:23:37 EDT 2015
Wed Sep  9 15:27:13 EDT 2015

$ du -s Installers
14211072   Installers

1

আপনি যদি ফাইল সিস্টেমের ফরেনসিক করতে না চান তবে এফএস ব্যবহার করছেন না এমন ফাঁকা জায়গার অনুলিপি এড়ানোর জন্য আপনার ফাইল সিস্টেমের জন্য একটি ডাম্প / রিস্টোর প্রোগ্রাম ব্যবহার করুন। আপনার কী ফাইল সিস্টেমের উপর নির্ভর করে এটি সাধারণত সমস্ত মেটাডেটা সহ সংরক্ষণ করবে ctime। ইনোড নম্বরগুলি পরিবর্তিত হতে পারে, তবে আবার ফাইল সিস্টেমের উপর নির্ভর করে (xfs, ext4, ufs ...)।

পুনরুদ্ধার লক্ষ্য লক্ষ্য সিস্টেমে একটি ফাইল হতে পারে।

আপনি যদি পার্টিশন টেবিল সহ একটি ফুল-ডিস্ক চিত্র চান, আপনি ddডিস্কের প্রথম 1M পার্টিশন টেবিল / বুটলোডার / স্টাফ পেতে পারেন তবে xfsdumpপার্টিশনগুলি পারেন।

আপনার তথ্য-ডাম্প থেকে বলতে পারি না আসলে আপনার কাছে কী ধরনের ফাইল সিস্টেম রয়েছে। যদি এটি BSD ইউএফএস হয় তবে আমি মনে করি এটির একটি ডাম্প / পুনরুদ্ধার প্রোগ্রাম রয়েছে। এটি যদি জেডএফএস, ভাল আইডিকে হয় তবে কিছু থাকতে পারে।

সাধারণত পুরো-অনুলিপি ডিস্কগুলি পুনরুদ্ধারের পরিস্থিতি ব্যতীত অন্য কোনও কিছুর জন্য খুব ধীর। আপনি সেইভাবে ইনক্রিমেন্টাল ব্যাকআপগুলি করতে পারবেন না।


1

আপনি একটি শেয়ারড স্টোরেজ রাখতে সিস্টেমগুলি সেটআপ করতে পারেন!

আমি বিবেচনা করছি যে এগুলি একে অপরের পাশে রয়েছে এবং আপনি সম্ভবত আবারও এই কাজটি করছেন ....


1

কিভাবে একটি ইথারনেট ক্রসওভার কেবল তার? ওয়্যারলেস গতিতে নির্ভর করার পরিবর্তে আপনি আপনার এনআইসির তারযুক্ত গতিতে ক্যাপড হয়ে গেছেন।

That ধরণের সমাধানের কয়েকটি উদাহরণ সহ এখানে একই রকম প্রশ্ন's

স্পষ্টতই কেবলমাত্র একটি সাধারণ ইথারনেট কেবল আজকাল যথেষ্ট হবে। স্পষ্টতই আপনার এনআইসির যত দ্রুত স্থানান্তর হয় তত ভাল।

সংক্ষিপ্তসার হিসাবে, যদি কোনও নেটওয়ার্ক সেটআপ প্রয়োজনীয় হয়, তবে এটি কেবল আপনার সার্ভারের জন্য স্থির আইপি সেট করতে এবং সাবনেট মাস্ক সহ ব্যাকআপ কম্পিউটারের মধ্যে সীমাবদ্ধ হওয়া উচিত 255.255.255.0

শুভকামনা!

সম্পাদনা:

@ ক্রাইস্টফ তার উত্তরে এটি স্পর্শ করেছেন


কীভাবে এটি গতির হারগুলিকে উন্নত করবে? আপনি কি দয়া করে আপনার উত্তরটি ব্যাখ্যা করতে পারেন?
এএল

1
এটি সম্ভবত গতির উন্নতি করবে কারণ মধ্যবর্তী নেটওয়ার্ক আপনাকে ধীর করে দেওয়ার বিষয়ে আপনাকে চিন্তা করতে হবে না। "সাধারণ" বনাম "ক্রসওভার" ইথারনেট কেবলগুলি - 1 জিবি ইথারনেট প্রয়োজনীয় হিসাবে স্বয়ংক্রিয়ভাবে ক্রসওভার করবে। এইচপি ইথারনেট সুইচগুলি এটি 100 এমবিতে করবে will অন্যান্য ব্র্যান্ডগুলি সাধারণত হয় না এবং আপনি যদি 100Mb এ আটকে থাকেন তবে আপনার ক্রসওভারের প্রয়োজন হবে।
ড্যান প্রিটস

1

বেশ কয়েকটি লোকেরা আপনাকে ssh এড়িয়ে যাওয়ার পরামর্শ দেয় কারণ এনক্রিপশন আপনাকে ধীর করে দেবে। আধুনিক সিপিইউগুলি আসলে 1 জিবিতে দ্রুত পর্যাপ্ত হতে পারে তবে ওপেনএসএসএইচের অভ্যন্তরীণ উইন্ডোটিং বাস্তবায়নে সমস্যা রয়েছে যা আপনাকে মারাত্মকভাবে ধীর করতে পারে।

আপনি যদি এসএসএস দিয়ে এটি করতে চান তবে এইচপিএন এসএসএইচ দেখুন । এটি উইন্ডোটিংয়ের সমস্যাগুলি সমাধান করে এবং মাল্টিথ্রেডেড এনক্রিপশন যুক্ত করে। দুর্ভাগ্যক্রমে আপনাকে ক্লায়েন্ট এবং সার্ভার উভয় ক্ষেত্রেই পুনঃনির্মাণ করতে হবে।


0

ঠিক আছে আমি "খুব বড় পাইপ" (10 জিবি) যা একে অপরের "কাছাকাছি" আছে এমন দুটি কম্পিউটারের জন্য এই প্রশ্নের উত্তর দেওয়ার চেষ্টা করেছি।

আপনি এখানে যে সমস্যাটি চালাচ্ছেন তা হ'ল পাইপগুলি এত বড় হওয়ায় বেশিরভাগ সংক্ষেপন সিপিইউতে বাধা দেবে।

10 জিবি ফাইল স্থানান্তর করার কর্মক্ষমতা (6 জিবি নেটওয়ার্ক সংযোগ [লিনোড], সংকোচনযোগ্য ডেটা):

$  time bbcp 10G root@$dest_ip:/dev/null
0m16.5s 

iperf:

server: $ iperf3 -s -F /dev/null
client:
$ time iperf3 -c $dest_ip -F 10G -t 20 # -t needs to be greater than time to transfer complete file
0m13.44s
(30% cpu)

netcat (1.187 openbsd):

server: $ nc -l 1234 > /dev/null
client: $ time nc $dest_ip 1234 -q 0 < 10G 
0m13.311s
(58% cpu)

scp:

$ time /usr/local/bin/scp 10G root@$dest_ip:/dev/null
1m31.616s
scp with hpn ssh patch (scp -- hpn patch on client only, so not a good test possibly): 
1m32.707s

socat:

server:
$ socat -u TCP-LISTEN:9876,reuseaddr OPEN:/dev/null,creat,trunc
client:
$ time socat -u FILE:10G TCP:$dest_ip:9876
0m15.989s

এবং 10 জিবিতে দুটি বাক্স, নেটক্যাটটির সামান্য পুরানো সংস্করণ (সেন্টোস 6.7), 10 জিবি ফাইল:

nc: 0m18.706s (100% cpu, v1.84, no -q option
iperf3: 0m10.013s (100% cpu, but can go up to at least 20Gbe with 100% cpu so not sure it matters)
socat: 0m10.293s (88% cpu, possibly maxed out)

সুতরাং এক উদাহরণে নেটক্যাট কম সিপিইউ ব্যবহার করেছে, অন্য সকেটে, তাই ওয়াইএমএমভি।

নেটকাটের সাহায্যে, যদি এটিতে "-N -q 0" বিকল্প না থাকে তবে এটি কাটা ফাইলগুলি স্থানান্তর করতে পারে, সাবধানতা অবলম্বন করুন ... "-w 10" এর মতো অন্যান্য বিকল্পগুলিও সংক্ষিপ্ত ফাইলগুলিতে ফলস্বরূপ হতে পারে।

এই প্রায় সব ক্ষেত্রেই যা ঘটছে তা হ'ল সিপিইউ ম্যাক্স আউট হচ্ছে, নেটওয়ার্ক নয়। scpপ্রায় 230 এমবি / সেকেন্ডে ম্যাক্সস বের হয়, 100% ব্যবহারের জন্য একটি কোরকে পেগিং করে।

Iperf3 দুর্ভাগ্যক্রমে দূষিত ফাইলগুলি তৈরি করে। নেটকাটের কিছু সংস্করণ মনে হয় পুরো ফাইলটি খুব অদ্ভুতভাবে স্থানান্তর করে না। বিশেষত এটির পুরানো সংস্করণগুলি।

"নেটক্যাট থেকে পাইপ হিসাবে জিজিপ" বা "এমবিফার" এর বিভিন্ন উদ্বেগগুলি জিজিপ বা এমবাফারের সাহায্যে সিপিইউ সর্বাধিক বেরিয়েছে বলে মনে হয়, তাই এত বড় পাইপগুলির সাথে দ্রুত স্থানান্তরিত হতে পারেনি। lz4 সাহায্য করতে পারে। এছাড়াও, আমি চেষ্টা করেছি এমন কিছু জিজিপ পাইপ স্টাফের ফলস্বরূপ খুব বড় (> 4 জিবি) ফাইলের দুর্নীতিতে স্থানান্তর ঘটেছে সুতরাং সেখানে সতর্কতা অবলম্বন করুন :)

বিশেষত উচ্চতর লেটেন্সি (?) এর জন্য কাজ করতে পারে এমন আরেকটি জিনিস টিসিপি সেটিংস টিউন করা। এখানে একটি গাইড যা প্রস্তাবিত মানগুলি উল্লেখ করে:

http://pcbunn.cithep.caltech.edu/bbcp/ using_bbcp.htm এবং https://fasterdata.es.net/host-tuning/linux/ (অন্য উত্তর থেকে) সম্ভবত আইআরকিউ সেটিংস: https://fasterdata.es .net / হোস্ট-টিউনিং / 100g-টিউনিং /

লিনোড থেকে পরামর্শ, /etc/sysctl.conf এ যুক্ত করুন:

net.core.rmem_max = 268435456 
net.core.wmem_max = 268435456 
net.ipv4.tcp_rmem = 4096 87380 134217728
net.ipv4.tcp_wmem = 4096 65536 134217728
net.core.netdev_max_backlog = 250000
net.ipv4.tcp_no_metrics_save = 1
net.core.default_qdisc = fq 

অতিরিক্তভাবে, তারা আপনাকে চালাতে চান:

 /sbin/ifconfig eth0 txqueuelen 10000 

পরিবর্তনগুলি যাতে ক্ষতি না করে তা নিশ্চিত করার জন্য টুইটগুলি করার পরে ডাবল চেক করা উচিত।

উইন্ডোর আকার টিউন করার উপযুক্ত হতে পারে: https://iperf.fr/iperf-doc.php#tuningtcp

ধীর (এর) সংযোগের সাথে সংক্ষেপণ অবশ্যই সাহায্য করতে পারে। আপনার কাছে যদি বড় পাইপ থাকে তবে খুব দ্রুত সংক্ষেপণ সহজেই সংকোচনযোগ্য ডেটাতে সহায়তা করতে পারে, এটি চেষ্টা করে দেখেনি।

"হার্ড ড্রাইভগুলি সিঙ্ক করার জন্য" স্ট্যান্ডার্ড উত্তরটি হ'ল ফাইলগুলি আরএসএনসি করা, এটি যেখানে সম্ভব সেখানে স্থানান্তর এড়ায়।

অন্য বিকল্প: "সমান্তরাল স্কেপ" ব্যবহার করুন (কোনওভাবে বা অন্যভাবে), তবে এটি আরও কোরি ব্যবহার করবে ...

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