অনেকগুলি পৃথক ফাইল জুড়ে ছড়িয়ে পড়লে একই পরিমাণের ডেটা অনুলিপি করতে কেন বেশি সময় লাগে?


12

আমি লক্ষ্য করেছি যে একটি ফোল্ডার থেকে অন্য ফোল্ডারে 24Mb মূল্যবান ডেটা অনুলিপি করতে প্রায় 30 সেকেন্ড সময় লেগেছে কারণ (আমি এটি কারণ বলে ধরে নিচ্ছি) এটি এক হাজার পৃথক ফাইলের চেয়ে বেশি ছিল। 24 এমবি অনুলিপি করতে এত বেশি সময় নেওয়া উচিত নয়। ফাইলের সংখ্যা আলাদা করে কেন?

আমি একটি ম্যাকবুক (4 জিবি র‌্যাম, ইন্টেল (আর) কোর (টিএম) 2 ডুয়ো সিপিইউ P7450 @ 2.13GHz, 32-বিট অপারেটিং সিস্টেমে উইন্ডোজ 7 চালিয়ে যাচ্ছি

সম্পাদনা: এনটিএফএস হ'ল ড্রাইভে ব্যবহৃত ফাইল সিস্টেম

উত্তর:


5

এইচডিডি-র সঠিক স্থানান্তর হার নেই, এটি সঠিক রক্ষণাবেক্ষণের উপর নির্ভর করে, এটি খণ্ডিত নয়, বা খারাপ খাত ইত্যাদিও নয় ...

এইচডিডি যদি সটা 2 হয় এবং এটি একই পার্টিশন হয় তবে এটি কেবল ডেটা স্থানান্তরের গতি।

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

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

আমি মনে করি অনেকগুলি ফাইলের অনুলিপি ধীর হওয়ার কারণে আরও অনেক কারণ থাকতে হবে তবে এগুলি প্রধান হওয়া উচিত।


অ্যান্টিভাইরাস প্রোগ্রামটি অক্ষম করা থেকে এক্সট্র্যাক্টটি 10x দ্রুত তৈরি করা হয়েছে। এর পরে ভাইরাসগুলির জন্য ফাইলগুলি স্ক্যান করে।
ফ্যাট_মিকে

30

ফাইলের সংখ্যা আলাদা করে কেন?

স্পষ্টতই আপনি কেবল "একটি ফাইল অনুলিপি করুন" এর "ডেটা অনুলিপি করুন" এর দিকটিতে সম্পূর্ণ মনোনিবেশ করছেন। একটি ফাইল কেবলমাত্র ডেটার চেয়ে বেশি; এটি একটি ফাইল সিস্টেমের একটি সত্তা । একটি ফাইলের একটি নাম এবং বৈশিষ্ট্য এবং অনুমতি রয়েছে। "ফাইলটি অনুলিপি করা হয়" যখন ফাইল সম্পর্কে এই অতিরিক্ত তথ্য সমস্ত নথির সাথে নকল করতে হবে। এই ফাইল সিস্টেমটি ওভারহেড সম্পাদন করার জন্য উল্লেখযোগ্য পরিমাণে ডিস্ক I / O রয়েছে।

জেনেরিক ফাইল সিস্টেমে একটি (1) ফাইল অনুলিপি করার পদ্ধতিটি এমন কিছু হবে:

  • ফাইল সিস্টেমে উত্স ফাইলটি সন্ধান করুন। (ক)
  • উত্স ফাইলের জন্য ডিরেক্টরি এন্ট্রি ডিস্ক থেকে পড়ুন।
  • পড়ার অনুমতি যাচাই করুন।
  • ফাইল সিস্টেমে গন্তব্য ফাইলটি সন্ধান করুন। (খ)
  • গন্তব্য ডিরেক্টরিতে লেখার অনুমতি যাচাই করুন।
  • নতুন ফাইলটি সমন্বিত করতে প্রয়োজনে ডিরেক্টরিটি প্রসারিত করুন। (গ)
  • ডিস্কে ডিরেক্টরি আপডেট করুন। (গ 1)
  • বিনামূল্যে ব্লকগুলি সন্ধান করুন, তাদের বরাদ্দ করুন এবং টেবিলটি আবার আপডেট করুন। (ঘ)
  • ফাইল ডেটা পড়ুন এবং গন্তব্য ফাইলটিতে অনুলিপি করুন (অর্থাত "ফাইলটি অনুলিপি করুন)"।
  • (আকার এবং সময়) সহ নতুন ফাইলের জন্য ডিরেক্টরি এন্ট্রি আপডেট করুন। (ঙ)
  • উত্স ডিরেক্টরি এন্ট্রি অ্যাক্সেস সময় আপডেট করুন। (চ)

(ক) খুব কমপক্ষে এর অর্থ বর্তমান ডিরেক্টরিটি অনুসন্ধান করা। অথবা পথটি ফাইল সিস্টেমের মূল থেকে শুরু হতে পারে এবং বেশ কয়েকটি স্তরের ডিরেক্টরিকে ট্র্যাভার করতে হবে।

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

(গ) ডিরেক্টরির সম্প্রসারিত করা থাকে, তাহলে, একটি বিনামূল্যে ব্লক খোঁজার করে একটি নতুন ব্লক বরাদ্দ সংশোধন নতুন বরাদ্দ দিয়ে বরাদ্দ টেবিল, এবং তারপর লিখতে ডিস্কে ব্লক (গুলি) আউট। যেহেতু বেশিরভাগ ফাইলসিস্টেমগুলি বরাদ্দ সারণীর একাধিক অনুলিপি বজায় রাখে, তার অর্থ ডিস্কে একাধিক লেখক।
(গ 1) একবার গন্তব্য সংকলন অবস্থিত, পড়া , ডিস্ক থেকে ডিরেক্টরির ব্লক সংশোধন কপি ফাইলের জন্য নতুন ডিরেক্টরি এন্ট্রি সঙ্গে এটি, এবং তারপর লিখতে ডিস্কে আউট ব্লক।

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

(ঙ) একবার ডাটা কপি complele হয়, আপডেট সঠিক ফাইল দৈর্ঘ্য এবং টাইমস্ট্যাম্প সঙ্গে কপি ফাইলের জন্য নতুন ডিরেক্টরি এন্ট্রি, এবং তারপর লিখতে ডিস্কে আউট ডিরেক্টরির ব্লক।

(চ) আপডেট করুন একটি নতুন "অ্যাক্সেস" টাইমস্ট্যাম্প সঙ্গে সোর্স ডিরেক্টরিতে প্রবেশ এবং তারপর লিখতে ডিস্কে আউট ডিরেক্টরির ব্লক।

সুতরাং কেবল একটি ফাইলের পরিবর্তে, আপনার প্রশ্নটি জিজ্ঞাসা করছে যে এক হাজার ফাইলের জন্য এই সমস্ত জিনিসগুলি করা কেবল ফাইলগুলির ডেটা অংশটি অনুলিপি করতে সময় যোগ করতে পারে? আপনি যদি 24MB- এর কেবল একটি ফাইল অনুলিপি করেন তবে আপনার এক হাজার ফাইলের অনুলিপি সময়ের সাথে তুলনা করার মতো কিছু আপনার থাকবে।

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


-1

এখানে একটি ধারণাগত সাদৃশ্য রয়েছে:

(দয়া করে প্রিয় ইন্টারনেটটি মনে রাখবেন, যে সাদৃশ্যগুলি ত্রুটিযুক্ত comments মন্তব্যগুলিতে কীভাবে নির্দ্বিধায় উদ্বিগ্ন হন))

অনুমিতি:

  • তথ্যের এজেন্ট কিছু বাচ্চা স্থানান্তর করে == , আসুন তাকে স্যাম বলে, একটি ঘুড়ি থেকে অন্য ঘুড়িতে ডিম পাচ্ছে।
  • আমার ধারণা তথ্য স্থানান্তরের মাধ্যম == । এখানে সত্যিই গুরুত্বপূর্ণ নয়।
  • ডিমগুলি ডাইনোসর ... এবং পৌরাণিক জলতলের সমুদ্রের উপকূল এবং ড্রাগন সহ বিভিন্ন প্রজাতি থেকে আসে। (ডিমগুলি সত্যিই বড় হতে পারে)
  • ফাইল-আকারের == ডিমের পরিমাণ। ভাবুন রবিনের ডিম বনাম ড্রাগন এর ডিম।

সাদৃশ্য:

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

  • একটি রব্বিনের ডিম 100 bytesঝুড়ির জায়গার মতো গ্রহণ করে

প্রতি

  • ক্রাকেন-ডিম, চারদিকে মাপের 2.7Gb

স্যামকে ডিম চালানো শুরু করতে হবে, তাই সে কেবল ডিমগুলি ধরে এবং সেগুলি সরাতে শুরু করে। ধরা যাক তিনি প্রথমে ড্রাগন-ডিম স্থানান্তর করার সিদ্ধান্ত নেন। এখন ডিমটি অত্যন্ত বিশাল এবং ঘন, তাই জিনিসটিকে অন্য ঝুড়িতে টানতে সময় লাগে।
স্যাম ড্রাগনের ডিমটি অন্য ঝুড়িতে পেয়ে যায় এবং সে হতাশ। এটি কঠিন ছিল কারণ জিনিসটি এত বেশি জায়গা নিয়েছিল; এটির চলনটি কেবলমাত্র একটি একক ডিমের জন্য দীর্ঘস্থায়ী হয়েছিল।

স্যাম বোকা।

স্যাম তার 1 ম ঝুড়ি ফিরে অন্য একটি ডিম ধরতে। সে বুঝতে পারে যে তার কাছে সত্যই 1 টি বড় ছিল। তবে, 100,000,000,000,000 রবিনের ডিম বাকি রয়েছে।

যেমন আপনি দেখতে পাচ্ছেন, স্যামের বিকেল নষ্ট হয়ে গেছে। তার স্বাভাবিক প্রবণতাটি হ'ল ডিনো-ডিম তার পক্ষে চলাফেরার জন্য আরও খারাপ হতে হবে। যখন আমরা ডিম এবং ঝুড়ি সম্পর্কে কথা বলি তখন তা বোঝা যায়, তবে কম্পিউটারগুলি 100,000,000,000 এর মতো সংখ্যায় ডিল করে।

সংক্ষেপে:

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


-2

FAT পড়ুন, পুনরায় অবস্থানের শিরোনামগুলি, ফাইল পরিবর্তন করতে ফাইল খুলুন - এগুলি সবই সময় প্রয়োজন


এটি একটি এনটিএফএস ড্রাইভ
ত্রিঞ্জাজ

এনটিএফএসে, সমস্ত ফাইল ডেটা — ফাইলের নাম, তৈরির তারিখ, অ্যাক্সেস অনুমতি এবং সামগ্রীগুলি Master মাস্টার ফাইল সারণীতে মেটাডেটা হিসাবে সংরক্ষণ করা হয়। মাস্টার ফাইল সারণী (এমএফটি) একটি এনটিএফএস ভলিউমের প্রতিটি ফাইল, ডিরেক্টরি এবং মেটাফিল সম্পর্কে মেটাডেটা ধারণ করে। এটিতে ফাইলের নাম, অবস্থান, আকার এবং অনুমতি রয়েছে। একটি ডিরেক্টরি এন্ট্রিতে একটি ফাইলের নাম এবং একটি "ফাইল আইডি" থাকে যা মাস্টার ফাইল সারণীতে ফাইলটি উপস্থাপন করে এমন রেকর্ড নম্বর। বাসার উল্লেখগুলি সনাক্ত করতে ফাইল আইডিতে একটি পুনঃব্যবহারের গণনাও রয়েছে।
অলস ব্যাজার

সুতরাং আপনার প্রশ্নের উত্তর কি এই তথ্যের উপর ভিত্তি করে যে এটি ফাইলের নাম, অবস্থান, আকার, অনুমতি ইত্যাদির রেকর্ড তৈরি করতে এত বেশি কাজ করতে হয়েছে? এখানে অতিরিক্ত সমস্ত কাজ আসে work
ত্রিন্ডাজ

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