একসাথে একাধিক স্ক্র্যাপ থ্রেড চালানো


11

একসাথে একাধিক স্ক্রিপ থ্রেড চালানো:

পটভূমি:

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

সমস্যা:

এসসিপি এই ছোট্ট ফাইলগুলি একের পর এক স্থানান্তর করে এবং এতে বয়স হয় এবং আমার মনে হয় আমি যে সুন্দর নেটওয়ার্ক সংস্থানগুলি নষ্ট করছি।

সমাধান ?:

আমার একটা ধারণা ছিল; স্ক্রিপ্ট তৈরি করা, যা ফাইলগুলি সমান পরিমাণে ভাগ করে, এবং 5-6 স্ক্রিপ থ্রেড শুরু করে, যা তাত্ত্বিকভাবে পরে 5-6 গুণ দ্রুত সম্পন্ন হবে, না? তবে আমার কোনও লিনাক্স স্ক্রিপ্টিং অভিজ্ঞতা নেই!

প্রশ্ন (গুলি):

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

উত্তর:


11

আমি এটি এইভাবে করব:
tar -cf - /manyfiles | ssh dest.server 'tar -xf - -C /manyfiles'

আপনি যে ফাইলগুলি স্থানান্তর করছেন তার উপর নির্ভর করে tarকমান্ডগুলিতে সংক্ষেপণ সক্ষম করার জন্য এটি বোধ করতে পারে :
tar -czf - /manyfiles | ssh dest.server 'tar -xzf - -C /manyfiles'

এটি এই sshধারণাটিও তৈরি করতে পারে যে আপনি কমান্ডের জন্য সিপিইউ ফ্রেন্ডলিয়ার সাইফারটি পছন্দ করেছেন (আরকফোরের মতো): tar -cf - /manyfiles | ssh -c arcfour dest.server 'tar -xf - -C /manyfiles'

বা তাদের উভয়কে একত্রিত করুন তবে এটি আপনার বাধা কী on
স্পষ্টতই rsyncযদি আপনি ইনক্রিমেন্টাল সিঙ্কগুলি করেন তবে অনেক দ্রুত হবে।


10

rsyncপরিবর্তে ব্যবহার করুন scp। আপনি ব্যবহার করতে পারেন rsyncউপর sshসহজে হিসাবে হিসাবে scp, এবং এটি সমর্থন "ফাইল স্থানান্তর পাইপলাইনিং লেটেন্সি খরচ কমানোর জন্য।"

একটি টিপ: যদি ডেটা সংকোচনযোগ্য হয় তবে সংক্ষেপণ সক্ষম করুন। যদি তা না হয় তবে এটি অক্ষম করুন।


আমি গতকাল রাতে স্কিপ দিয়ে একটি স্থানান্তর করেছি এবং আরএসসিএনসি এর সাথে অন্য একই রকম স্থানান্তর করছি - এটি অনেক দ্রুত বলে মনে হচ্ছে faster তবে এটি এখনও এক সময় একটি ফাইল স্থানান্তরিত হতে পারে বলে মনে হয় - এটি কীভাবে একাধিক থ্রেড তৈরি করতে পারে তার কোনও ধারণা (স্ক্রিপ্টের মাধ্যমে - একচেটিয়া ডিরেক্টরিতে - - অন্তর্ভুক্ত করা এবং একচ্ছত্র ডিরেক্টরিগুলি; দেখুন: sun3.org/archives / 280 )
এড্রুচ

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

1

আমি জিএনও সমান্তরাল (যা এখনও আপনার অংশে কিছু স্ক্রিপ্টিং কাজ প্রয়োজন) পরামর্শ দিতে চলেছি, তবে আমি পিসিএসপি পেয়েছি (যা পিএসএস এর অংশ )। এটি কেবল আপনার প্রয়োজনের সাথে খাপ খায়।


2
এটি psshএকাধিক মেশিনে একই সাথে কাজ করে বলে মনে হচ্ছে । আমি মনে করি না এটি ফাইল-স্তরের সমান্তরালতা প্রয়োগ করে।
ডেভিড শোয়ার্টজ

আমার সম্ভবত সুনির্দিষ্ট হওয়া উচিত - আমার অর্থ পিএসসিপি।
রিলিন্ডো

1

সরাসরি স্ক্র্যাপ নয়, তবে মিটলি থ্রেড ট্রান্সফারের জন্য একটি বিকল্প (একক ফাইলগুলিতেও) হ'ল বিবিসিপি - https://www2.cisl.ucar.edu/res स्त्रोत / স্টোরেজ- এবং- ফাইল-সিস্টেমেস / বিবিসিপি ।

আপনি ডেটা স্থানান্তর করতে চান এমন থ্রেডের সংখ্যার জন্য -s বিকল্পটি ব্যবহার করুন। উচ্চ ব্যান্ডউইথ তবে ল্যাগি সংযোগের জন্য দুর্দান্ত কারণ ল্যাগটি প্রতিটি থ্রেডে টিসিপি উইন্ডোর আকারকে সীমাবদ্ধ করে।


0

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

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