الحجم نفسه 1 غيغابايت، لكن مجلّد الصور يُنسَخ أبطأ من فيديو واحد — لماذا؟
· آخر تحديث: · غو كومورا · Windows, Windows 11, نسخ الملفّات, الأداء, SSD, NAS, ZIP, robocopy
سجل التعديلات (النسخة الأولى، نُشرت في 5 Sep، 2026)
- النشر الأول
حتى مع تطابق الحجم الإجمالي عند 1 غيغابايت، يتغيّر زمن النسخ بحسب عدد مرات فتح الملفات وإنشائها وإغلاقها. يشرح هذا المقال تأثير عدد الملفات وفترات الانتظار، وكيفية مقارنة ZIP والنسخ المتزامن في ظروف متكافئة.
في المخطّط، يشير الخطّ المتّصل إلى علاقة قائمة دائماً، ويشير الخطّ المتقطّع إلى علاقة مشروطة (شروط قيامها مذكورة في شرح كلّ علاقة في الصفحة التفصيليّة). القائمة الكاملة للعلاقات (المجموع 11، مع الأدلّة ودرجة اليقين) وتعريفات المفاهيم الرئيسة مجمّعة في صفحة تفاصيل خريطة المعرفة (باليابانية). البيانات: JSON-LD / Turtle
المشكلة / السؤال
نُسخ فيديو حجمه 1 غيغابايت بسرعة، بينما استغرق نسخ مجلّد صور يبلغ حجمه الإجمالي 1 غيغابايت وقتًا أطول بكثير. لماذا تنخفض سرعة النقل المعروضة عند نسخ عدد كبير من الملفات الصغيرة، حتى عند استخدام SSD أو شبكة LAN سريعة؟
يجيب هذا المقال عن سؤالين: «لماذا يختلف زمن النسخ رغم تساوي الحجم الإجمالي؟» و«كيف أتحقق مما إذا كان تجميع الملفات في أرشيف ZIP أو نسخها بصورة متزامنة مفيدًا في بيئتي؟». لا يُشخَّص البطء أو العطل لمجرد أن الملفات صور؛ بل تُقارن أعداد الملفات والأزمنة اللازمة حتى تصبح الملفات قابلة للاستخدام.
البيئة
يستهدف هذا المقال المستخدمين العاديين الذين ينسخون، من Windows 11، ملفات عادية متاحة محليًا مثل الصور والمستندات إلى محرك أقراص خارجي أو إلى NAS يُستخدم عبر مشاركة SMB. جهاز NAS هو جهاز تخزين يُستخدم عبر الشبكة، وSMB هو بروتوكول الاتصال الشائع لمشاركة الملفات في Windows.
تستخدم الأمثلة مستكشف الملفات، وCompress-Archive في Windows PowerShell 5.1 أو إصدار أحدث، وأداة robocopy المضمّنة في Windows. لتشغيل أمثلة الأوامر، تحتاج إلى إذن قراءة المصدر وإلى إذن إنشاء الملفات وكتابتها في مجلّد التجربة ووجهة النسخ. لا تستخدم هذه الإجراءات امتيازات المسؤول لتجاوز ضوابط الوصول.[S7: Compress-Archive] [S9: robocopy]
لا يمكن استخراج أرشيف ZIP على جهاز NAS نفسه إلا إذا كان الجهاز يوفّر هذه الوظيفة وكانت لديك صلاحية استخدامها. يُستشهد بوثائق SMB الموجّهة إلى الخوادم لشرح الآلية الأساسية، ولا يعني ذلك أن كل أجهزة NAS تملك الإعدادات أو الوظائف نفسها.
يستند هذا الشرح إلى وثائق رسمية جرى التحقق منها في 17 سبتمبر 2026. الأمثلة الرقمية أدناه حسابات قائمة على افتراضات معلنة، والعمليات إجراءات يستطيع القرّاء استخدامها لاختبار بيئاتهم؛ وليست نتائج قياس مأخوذة من جهاز Windows أو SSD أو NAS بعينه. لا يتناول المقال تنزيل الملفات السحابية المتاحة عبر الإنترنت فقط، ولا تصميم نسخ احتياطية كاملة.
الإجابة / الحل
ليس إجمالي عدد البايتات العامل الوحيد الذي يحدد زمن النسخ. فتكرار عمليات إنشاء كل ملف وإدارة معلوماته وإنهائه يزيد الوقت المستغرق في أعمال غير نقل المحتوى. وعند استخدام مشاركة SMB، يؤثر أيضًا الوقت الذي يُقضى في انتظار النظام البعيد حتى يعالج الطلبات ويعيد الاستجابات. قد يفيد تجميع الملفات في أرشيف ZIP أو استخدام النسخ المتزامن في robocopy، لكن لا يضمن أي منهما سرعة أعلى.[S1: Slow SMB files transfer speed]
سجّل أولًا الحجم الإجمالي وعدد الملفات معًا، ثم قارن البدائل عبر المسار نفسه وإلى وجهة الحفظ النهائية نفسها. بالنسبة إلى ZIP، قارن مجموع الزمن اللازم للإنشاء والنقل والاستخراج عند الحاجة. وبالنسبة إلى النسخ المتزامن، استخدم البيانات والخيارات نفسها وغيّر مستوى التزامن وحده. تحقّق من السرعة ومن نجاح النسخ كلًّا على حدة.
التعريف
لا يقتصر نسخ ملف على كتابة محتواه في موضع آخر. إذ يجب إنشاء ملف الوجهة وضبط السمات والتواريخ والأوقات وغيرها من المعلومات اللازمة. يسمّي هذا المقال المعالجة والانتظار اللازمين للتعامل مع كل ملف «الوقت الإضافي لكل ملف»، ويميّزهما عن الوقت المستغرق في نقل محتوى الملف.[S2: CreateFileW function]
«الملفات الصغيرة» ليست تسمية أخرى للصور. تختلف ظروف بضع صور كبيرة عن ظروف عشرات الآلاف من الصور الصغيرة. تتناول المقارنة إجمالي بايتات المحتوى، أي ما يقابل «الحجم» للمجلّد، وعدد الملفات معًا، ولا تقتصر على مساواة «الحجم على القرص».
عند الانتقال إلى منزل جديد، قد يتساوى الوزن الإجمالي لصندوق كبير واحد وعشرة آلاف طرد يلزم التحقق من عنوان كل منها، لكن مقدار العمل يختلف كثيرًا. وبالمثل، فإن «نقل 1 غيغابايت» و«معالجة 10000 ملف» مهمتان مختلفتان.
flowchart TB
accTitle: أعداد مختلفة من الملفات مع الحجم الإجمالي نفسه
accDescr: حتى إذا بلغ مجموع كلتا مجموعتي البيانات 1 غيغابايت، فإن ملفًا واحدًا وملفات كثيرة يتطلبان أعدادًا مختلفة من عمليات إدارة الملفات.
A["بيانات مجموعها 1 غيغابايت"] --> B["ملف كبير واحد"]
A --> C["10000 ملف صغير"]
B --> D["عمليات قليلة لكل ملف"]
C --> E["تكرار العمليات لكل ملف"]
الشكل 1: تساوي عدد البايتات لا يعني تساوي عدد الملفات.
في البيانات التوضيحية المستخدمة أدناه، يعني 1 غيغابايت 1,000,000,000 بايت، ويعني 100 كيلوبايت 100,000 بايت. سجّل أعداد البايتات الفعلية عند المقارنة بدلًا من الاعتماد على القيم المقرّبة التي يعرضها Windows أو غيره من الأدوات.
الدور
الغرض من النسخ هو جعل مجموعة الملفات المطلوبة قابلة للاستخدام في الوجهة المقصودة. ولا تعني قيمة MB/ثانية مرتفعة في نافذة النقل بالضرورة بلوغ هذا الغرض في وقت أقصر إذا استغرق إنشاء أرشيف ZIP أو استخراجه وقتًا طويلًا.
يجمع ZIP الملفات المراد نقلها، بينما يجعل النسخ المتزامن فترات انتظار معالجة عدة ملفات تتداخل زمنيًا. فيستطيع نقلٌ ما التقدّم بينما ينتظر نقلٌ آخر استجابة؛ ولا يضيف التزامن تأخيرًا. ولا تجعل أي من الطريقتين وصلة الشبكة أو القرص نفسه أسرع، ولكل منهما ظروف تلائمها.[S1: Slow SMB files transfer speed] [S4: Performance Tuning for SMB File Servers]
flowchart TB
accTitle: الهدف عند اختيار طريقة النسخ
accDescr: ضع مجموعة الملفات نفسها في الوجهة المقصودة، وتحقق من محتواها، ثم قارن الزمن حتى تصبح قابلة للاستخدام.
A["وضع الملفات نفسها في الوجهة"] --> B["إكمال النسخ"]
B --> C["التحقق من العدد والمحتوى"]
C --> D["مقارنة الزمن حتى تصبح قابلة للاستخدام"]
الشكل 2: الهدف من اختيار الطريقة هو إتاحة مجموعة الملفات نفسها بصورة صحيحة.
يُستخدم ملف كبير واحد كحالة ضابطة لملاحظة أثر عدد الملفات. ولأن بنيته تختلف عن بنية 10000 ملف صغير، فلا يصلح بديلًا عمليًا عنها. عند اختيار الطريقة الفعلية، يكون الهدف وضع الملفات الأصلية المنفردة في وجهة الحفظ النهائية نفسها.
البنية
المحتوى ومعلومات الإدارة ومسار النسخ
يشمل النسخ فتح المصدر وإنشاء ملف الوجهة وقراءة المحتوى وكتابته وضبط المعلومات اللازمة ثم إغلاق الملف. ويتضمن فتح ملف في Windows أيضًا تحديد الوصول المطلوب ووضع مشاركة يقرر ما إذا كان مسموحًا لعمليات أخرى بفتح الملف في الوقت نفسه.[S2: CreateFileW function]
تُسمّى المعلومات المستخدمة لإدارة الملف، مثل اسمه وحجمه وتواريخه وأوقاته، بيانات وصفية. ويسجّل NTFS معلومات الإدارة الخاصة بكل ملف في بُنى تتضمن جدول الملفات الرئيسي (MFT). ولذلك لا ينحصر النسخ في كتابة بيانات بكسلات الصورة.[S3: Master File Table]
flowchart TB
accTitle: العمل اللازم لنسخ ملف واحد
accDescr: يتطلب نسخ كل ملف فتح المصدر وإنشاء الوجهة ونقل المحتوى وإدارة المعلومات وإغلاق الملف.
A["فتح المصدر"] --> B["إنشاء ملف الوجهة"]
B --> C["قراءة المحتوى وكتابته"]
C --> D["ضبط المعلومات وإغلاق الملف"]
D -.-> E["التكرار مع الملف التالي"]
الشكل 3: تدفق تصوري؛ يعتمد ترتيب المعالجة والتزامن الفعليان على طريقة النسخ ونظام الملفات.
| ما ينبغي فحصه | الشروط التي ينبغي تثبيتها عند المقارنة |
|---|---|
| محتوى الملفات | إجمالي البايتات، وعدد الملفات، والمحتوى، وقابلية الضغط. |
| جهاز التخزين وأعمال الإدارة | جهازا المصدر والوجهة، والمساحة الخالية، ونظام الملفات، والحمل المتزامن. |
| مسار النسخ وطريقته | تخزين محلي أو مشاركة SMB، والشبكة، وتطبيق النسخ، والجهاز الذي ينفّذ الاستخراج. |
يبقى عمل إدارة الملفات موجودًا حتى عند استخدام SSD. لا تقدّر زمن نسخ 10000 ملف اعتمادًا فقط على معدل النقل التسلسلي لملف كبير، ولا تصف كل عمليات نسخ الملفات الصغيرة بأنها إدخال/إخراج عشوائي. تناول موضع المحتوى والعمل المطلوب لكل ملف بصورة منفصلة.[S3: Master File Table] [S1: Slow SMB files transfer speed]
آلية العمل
يمكن تقسيم الآليات التي قد تؤدي إلى اختلاف الأزمنة رغم تساوي الحجم الإجمالي إلى ثلاثة مجالات: انتظار الاستجابات، وتجميع الملفات في أرشيف ZIP، والموضع الذي يحدث فيه الاستخراج.
عرض النطاق وانتظار الاستجابة خاصيتان مختلفتان في NAS
عند استخدام مشاركة SMB، قد يطلب PC عملية على ملف، وينتظر ريثما يعالجها نظام الملفات البعيد، ثم ينتظر عودة الاستجابة. وعند نسخ عدد كبير من الملفات الصغيرة بالتتابع، قد تستغرق أعمال إنشاء الملفات وقتًا أطول من إرسال محتواها، فيبقى بعض عرض نطاق الشبكة غير مستخدم.[S1: Slow SMB files transfer speed]
flowchart TB
accTitle: عمليات الملفات عبر الشبكة
accDescr: يعبر طلب من PC الشبكة، ويعالجه نظام الملفات البعيد، ثم تعود الاستجابة إلى PC.
A["يطلب PC عملية على ملف"] --> B["يعبر الطلب الشبكة"]
B --> C["يعالج النظام البعيد الملف"]
C --> D["تعود الاستجابة إلى PC"]
الشكل 4: القدرة على نقل كمية كبيرة دفعة واحدة والقدرة على الاستجابة سريعًا لكل عملية خاصيتان مختلفتان.
يمكن تشبيه عرض النطاق بعدد مسارات الطريق، بينما يشبه زمن الوصول المدة التي تسبق وصول الاستجابة. وقد يؤثر فحص برنامج مكافحة الفيروسات أيضًا في زمن معالجة كل ملف.[S1: Slow SMB files transfer speed]
لا يعني ذلك أن كل ملف يسبب بالضرورة عددًا ثابتًا من عمليات التبادل عبر الشبكة. يستطيع SMB جمع عدة طلبات عمليات، كما تغيّر الذاكرة المؤقتة والتزامن كيفية حدوث الانتظار. لا تفترض أن شبكة LAN منزلية ومجلّدًا مشتركًا في موقع بعيد يوفّران ظروفًا متكافئة.[S5: Sending Compounded Requests] [S8: File Caching]
قيّم ضغط ZIP وتجميعه بصورة منفصلة
يستطيع أرشيف ZIP ضغط البيانات وجمع ملفات متعددة في حاوية واحدة. ولأن بيانات JPEG مضغوطة أصلًا، فقد لا يقل حجم ملفات JPEG كثيرًا عند وضعها في ZIP. ومع ذلك، يستطيع ZIP تقليل عدد الملفات المنقولة من 10000 ملف إلى ملف واحد.[S6: Zip and unzip files]
flowchart TB
accTitle: وظيفتا ZIP
accDescr: يغيّر تجميع الملفات عدد الملفات المنقولة، بينما يغيّر الضغط عدد البايتات المنقولة؛ وهذان أثران منفصلان.
A["جمع الصور في أرشيف ZIP"] --> B["نقل ملف واحد"]
A --> C["يتوقف تغيّر الحجم على المحتوى"]
الشكل 5: حتى عندما يكون الضغط طفيفًا، يستطيع ZIP تقليل عدد الملفات المنقولة.
إذا كان لا بد من استخدام الصور في النهاية كملفات عادية داخل مجلّد، فقارن المجموع التالي:
الزمن اللازم عبر ZIP = إنشاء ZIP + نقل ZIP + الاستخراج
تقرأ عملية إنشاء ZIP كل ملف صغير، ويعيد الاستخراج إنشاء كل ملف صغير في وجهة الاستخراج. لا يختفي العمل؛ بل تغيّر الطريقة مكان تنفيذه وكيفية نقل الملفات. وإذا كانت المعالجة السابقة للنقل واللاحقة له كبيرة، فقد يكون عدم تجميع الملفات أسرع.[S1: Slow SMB files transfer speed]
ميّز الجهاز الذي ينفّذ الاستخراج
إذا أُرسل أرشيف ZIP إلى PC لدى المستلِم واستُخرج على محرك الأقراص المحلي لذلك الجهاز، فلن يلزم إنشاء الملفات الصغيرة واحدًا تلو الآخر عبر الشبكة. وتصف Microsoft كذلك استخراج الأرشيف على نظام الوجهة بدلًا من استخراجه عن بُعد.[S1: Slow SMB files transfer speed]
flowchart TB
accTitle: الاستخراج على الوجهة مقارنة بالاستخراج من PC إلى مشاركة
accDescr: ميّز الاستخراج الداخلي الذي تنفّذه الوجهة عن كتابة PC لكل ملف مستخرج إلى وجهة مشتركة.
A["إرسال ZIP إلى الوجهة"] --> B["تستخرجه الوجهة داخليًا"]
C["الاستخراج بتطبيق على PC"] --> D["إرسال كل ملف صغير إلى المشاركة"]
الشكل 6: وجود ملف ZIP مخزّنًا على NAS لا يعني أن الاستخراج يجري داخل NAS أيضًا.
إذا فتحت أرشيف ZIP مخزّنًا على NAS باستخدام مستكشف الملفات في PC، واخترت المجلّد المشترك نفسه وجهةً للاستخراج، فسيكتب PC الملفات الصغيرة المستخرجة إلى NAS عبر SMB. يتضمن هذا المسار مجددًا عددًا كبيرًا من عمليات الملفات الدقيقة عبر الشبكة، وهو يختلف عن الاستخراج الداخلي الذي تنفّذه وظيفة في NAS نفسه.
إذا تعذّر على NAS استخراج الأرشيف بنفسه، فقِس المسار الكامل المتاح فعليًا. يؤدي الاستخراج داخل NAS والاستخراج محليًا على PC إلى وجهتين نهائيتين مختلفتين، ولذلك لا يمكن مقارنة زمنيهما مباشرة كما لو أنهما ينفّذان المهمة نفسها.
أمثلة
يقدّم هذا القسم حسابًا توضيحيًا وبيانات مقارنة تُنشئها الخطوات. لا يمثّل أي منهما سرعة مقيسة على جهاز بعينه.
حساب مبسّط لـ 1 غيغابايت و10000 ملف
يفترض النموذج التصوري التالي أن العمليات تُنفّذ بالتتابع من دون تداخل. وهو ليس الصيغة الدقيقة التي يستخدمها Windows.
زمن النسخ ≒ إجمالي البايتات ÷ معدل نقل المحتوى
+ عدد الملفات × الوقت الإضافي لكل ملف
للتوضيح، افترض أن معدل نقل المحتوى 100 ميغابايت/ثانية وأن الوقت الإضافي لكل ملف ملي ثانيتان. وبما أن 1 غيغابايت يساوي هنا 1,000 ميغابايت، يستغرق نقل المحتوى 10 ثوانٍ. ويبلغ الوقت الإضافي 0.002 ثانية لملف واحد و20 ثانية لـ 10000 ملف، فيكون المجموع التوضيحي للحالة الثانية نحو 30 ثانية.
flowchart TB
accTitle: تقسيم زمن النسخ إلى مكوّنين
accDescr: ميّز زمن النقل الذي يحدده الحجم الإجمالي عن الوقت الإضافي الذي يتراكم مع عدد الملفات.
A["الزمن الذي يحدده الحجم الإجمالي"] --> C["إجمالي زمن النسخ"]
B["الوقت الإضافي الذي يحدده عدد الملفات"] --> C
الشكل 7: مع زيادة عدد الملفات، قد يعتمد الزمن على عوامل تتجاوز كمية البيانات.
هذه القيم محسوبة من افتراضات. وقد أُهمل التزامن والذاكرة المؤقتة وقيود CPU والتخزين، لذلك لا يتنبأ الحساب بأن جهازًا فعليًا سيستغرق 30 ثانية.
ملف كبير وملفات صغيرة وأرشيف ZIP غير مضغوط
أساس بيانات المقارنة
يمكنك ملاحظة الاتجاهات باستخدام مقاطع الفيديو والصور التي لديك، لكن تلك الملفات تختلف في المحتوى وقابلية الضغط. تكتب خطوات الإنشاء التالية تسلسل البايتات نفسه في ملف كبير وفي مجموعة من الملفات الأصغر، ثم تنشئ أرشيف ZIP غير مضغوط من الملفات الصغيرة.
| الحالة | التكوين | إجمالي المحتوى |
|---|---|---|
| A | ملف واحد حجمه 1 غيغابايت اسمه one.bin. | 1,000,000,000 بايت. |
| B | 10000 ملف حجم كل منها 100 كيلوبايت، بأسماء من part-00000.bin إلى part-09999.bin. | 1,000,000,000 بايت. |
| C | ملف small.zip غير مضغوط يحتوي مجلّد small الخاص بالحالة B. | يطابق المحتوى المستخرج الحالة B؛ ويضيف أرشيف ZIP معلومات الإدارة الخاصة به. |
flowchart TB
accTitle: ثلاثة أشكال لبيانات المقارنة
accDescr: أنشئ ملفًا كبيرًا وملفات صغيرة كثيرة لها إجمالي المحتوى نفسه، ثم أنشئ من الملفات الصغيرة أرشيف ZIP غير مضغوط.
A["إعداد إجمالي 1 غيغابايت نفسه"] --> B["ملف واحد حجمه 1 غيغابايت"]
A --> C["10000 ملف حجم كل منها 100 كيلوبايت"]
C --> D["وضع المحتوى نفسه في ZIP غير مضغوط"]
الشكل 8: يتيح ZIP غير المضغوط ملاحظة أثر التجميع بمعزل عن أي تغيّر في الحجم الناتج عن الضغط.
للحالتين A وB إجمالي المحتوى نفسه، لكن حجم ملف ZIP في C لا يساوي بالضبط 1,000,000,000 بايت. لا يمكن فتح ملفات .bin المنشأة من بايتات شبه عشوائية كصور أو مقاطع فيديو حقيقية، ولا تصلح لاختبار جودة الصور أو لمحاكاة سلوك التطبيقات التي تعالج ملفات وسائط حقيقية.
الخطوات
ابدأ بالمقارنة باستخدام مستكشف الملفات، ولا تقارن مستويات التوازي في robocopy إلا عند الحاجة. استخدم بيانات مخصصة للاختبار بدلاً من الصور أو المستندات المهمة، ولا تخلط بين النسخ والنقل.
لا تغيّر ميزات الحماية أو توقيع SMB أو إعدادات المزامنة أو ما شابهها أثناء الاختبار. إذا كانت أذونات الكتابة أو عمليات NAS خاضعة للإدارة، فلا تتجاوز الضوابط المفروضة، بل استشر المسؤول المختص.[S10: SMB signing overview]
إنشاء ملفات اختبار لها الحجم الإجمالي نفسه
استخدم Windows PowerShell 5.1 أو إصداراً أحدث، وتأكد من أن المجلد المؤقت موجود على محرك أقراص محلي. يشغل A وB معاً نحو 2GB، ويصبح الاستخدام نحو 3GB عند إضافة ملف ZIP. تأكد من توفر مساحة خالية لا تقل عن 5GB في المصدر، ومن وجود مساحة كافية في الوجهة لجميع محاولات النسخ وفك الضغط. نفّذ أمثلة PowerShell التالية بالتتابع في جلسة PowerShell نفسها.
flowchart TB
accTitle: إنشاء مجموعتي بيانات من تسلسلات البايت نفسها
accDescr: تُلحق كل كتلة منشأة من 100000 بايت شبه عشوائي بالملف الكبير، وتُحفظ الكتلة نفسها في ملف صغير مستقل.
A["إنشاء 100000 بايت"] --> B["إلحاقها بملف one.bin"]
A --> C["حفظها في ملف part مستقل"]
B --> D["التكرار 10000 مرة"]
C --> D
الشكل 9: تؤدي كتابة البيانات المنشأة نفسها في المجموعتين إلى تساوي إجمالي عدد بايتات المحتوى فيهما.
-
تأكد من أنك ستعمل في مجلد اختبار جديد ولن تستخدم بيانات موجودة.
ينشئ هذا الرمز مجلد copylab باسم فريد. دوّن الموقع المعروض. لا تستأنف هذه الخطوات تلقائياً عملية توقفت في منتصفها؛ فإذا وقع خطأ، فاستبعد بيانات تلك المحاولة من المقارنة.
-
نفّذ الرمز التالي لإنشاء ملف كبير ومجموعة من الملفات الصغيرة.
$ErrorActionPreference = 'Stop' $lab = Join-Path ([System.IO.Path]::GetTempPath()) ('copylab-' + [guid]::NewGuid().ToString('N')) $drive = New-Object System.IO.DriveInfo ([System.IO.Path]::GetPathRoot($lab)) if ($drive.AvailableFreeSpace -lt 5GB) { throw 'وفّر مساحة خالية لا تقل عن 5GB على محرك أقراص الاختبار.' } $largeDir = Join-Path $lab 'large' $smallDir = Join-Path $lab 'small' [System.IO.Directory]::CreateDirectory($largeDir) | Out-Null [System.IO.Directory]::CreateDirectory($smallDir) | Out-Null Write-Host "موقع الإنشاء: $lab" $fileCount = 10000 $buffer = New-Object byte[] 100000 $random = New-Object System.Random 20260905 $large = [System.IO.File]::Open( (Join-Path $largeDir 'one.bin'), [System.IO.FileMode]::CreateNew, [System.IO.FileAccess]::Write, [System.IO.FileShare]::None ) try { for ($i = 0; $i -lt $fileCount; $i++) { $random.NextBytes($buffer) $name = 'part-{0:D5}.bin' -f $i [System.IO.File]::WriteAllBytes((Join-Path $smallDir $name), $buffer) $large.Write($buffer, 0, $buffer.Length) } } finally { $large.Dispose() } Write-Host "اكتمل الإعداد. تحتوي كل مجموعة بيانات على $([long]$fileCount * $buffer.Length) بايت." -
تأكد من ظهور رسالة اكتمال الإعداد، ثم افحص عدد الملفات وحجمها الإجمالي في المجلدين large وsmall.
يجب أن يكون حجم one.bin داخل large هو 1,000,000,000 بايت، وأن يحتوي small على 10000 ملف، حجم كل منها 100000 بايت. تحقق من عدد بايتات المحتوى، مثلاً من خصائص المجلد. لا تعتبر رسالة الاكتمال وحدها دليلاً على صحة النسخة التي ستُنشأ لاحقاً.
تُنشأ A وB داخل مجلد اختبار واحد. تُكتب تسلسلات البايت نفسها في صورة ملف واحد وفي صورة ملفات مقسمة، ولذلك تحتوي كل مجموعة بيانات على 1,000,000,000 بايت. تتجنب البيانات شبه العشوائية قابلية الضغط الشديدة لملف مملوء بالأصفار، لكنها لا تضمن خصائص أداء مماثلة لخصائص الصور الفعلية.
إنشاء ZIP من دون ضغط وتسجيل وقت إنشائه
تأكد من اكتمال خطوة إنشاء الملفات السابقة بنجاح، ومن بقاء $lab و$smallDir معرّفين في جلسة PowerShell نفسها. تنطبق هذه الخطوات على الملفات العادية التي أُنشئت للاختبار فقط. توجد قيود في Compress-Archive، منها تجاهل الملفات المخفية، لذلك لا تستخدم هذا المثال لإنشاء نسخة احتياطية كاملة من مجلد مهم.
-
نفّذ الرمز التالي في جلسة PowerShell نفسها.
$zip = Join-Path $lab 'small.zip' $watch = [System.Diagnostics.Stopwatch]::StartNew() Compress-Archive -LiteralPath $smallDir -DestinationPath $zip -CompressionLevel NoCompression $watch.Stop() Write-Host "إنشاء ZIP: $($watch.Elapsed.TotalSeconds) ثانية" Write-Host "حجم ZIP: $((Get-Item -LiteralPath $zip).Length) بايت"يخزّن الخيار NoCompression الملفات داخل ZIP من دون ضغط محتواها، لكن الأرشيف يظل مشتملاً على معلومات الإدارة الخاصة به.[S7: Compress-Archive]
-
سجّل عدد الثواني اللازمة لإنشاء ZIP وعدد بايتات ملف ZIP.
تأكد من إنشاء small.zip. بعد فك الضغط، تظهر الملفات داخل مجلد small، ولذلك يجب أن تقارن عملية التحقق اللاحقة من عدد العناصر محتويات ذلك المجلد. استبعد محاولات الإنشاء الفاشلة، وافحص بيانات الاختبار الأصلية والمساحة الخالية قبل إعادة المحاولة.
أصبح لديك الآن C، الذي يحتوي على الملفات نفسها الموجودة في B، إلى جانب سجل لوقت إنشاء ZIP. يُعد إنشاء A وB جزءاً من إعداد الاختبار، أما إنشاء ZIP فهو تكلفة لازمة للطريقة المعتمدة على ZIP ويجب إدراجه في المقارنة.
النسخ عبر المسار نفسه وقياس الوقت حتى تصبح الملفات قابلة للاستخدام
أبقِ أجهزة المصدر والوجهة والاتصال والتطبيق والحمل المتزامن من دون تغيير. تحتاج إلى الأذونات والسعة الكافيتين لتوفير وجهة جديدة وفارغة لكل محاولة. تحقّق من المحتوى بعد فترة القياس وخارجها. هدف المقارنة هو جعل B وC قابلين للاستخدام في موقع الحفظ النهائي نفسه.
flowchart TB
accTitle: خطوات توحيد شروط المقارنة
accDescr: ثبّت مسار النسخ وطريقته، وغيّر ترتيب الحالات، وانسخ عدة مرات إلى وجهة جديدة وفارغة، ثم تحقّق من المحتوى بعد الاكتمال.
A["الأجهزة والمسار والطريقة نفسها"] --> B["وجهة جديدة وفارغة في كل مرة"]
B --> C["القياس عدة مرات بترتيب مختلف"]
C --> D["التحقق أيضاً من العدد والمحتوى"]
الشكل 10: لا تعتبر الوقت الموفر بسبب تخطي ملف موجود دليلاً على زيادة سرعة النقل.
-
سجّل الأجهزة والمسار وطريقة النسخ والجهاز الذي ينفّذ فك الضغط.
لا تخلط بين النسخ داخل محرك الأقراص الفعلي نفسه والنسخ بين أجهزة مختلفة. لا تستخدم ملفات سحابية متاحة عبر الإنترنت فقط، وأبقِ شروط برنامج مكافحة الفيروسات والمزامنة ثابتة. إذا تعذر على NAS فك الضغط بنفسه، فسجّل المسار على أنه فك للضغط على PC مع كتابة الملفات في الوجهة المشتركة عبر SMB.
-
استخدم مستكشف الملفات لنسخ A وB وC، كل حالة على حدة، إلى وجهة جديدة وفارغة.
لا تستخدم النقل. طبّق معيار القياس نفسه على كل حالة، بدءاً من بدء النسخ وحتى إغلاق إشعار الاكتمال. سجّل الوقت المنقضي، لا الوقت المتبقي المقدّر ولا السرعة اللحظية المعروضة. لا تُدرج في المقارنة ذات الشروط المتكافئة أي محاولة تطلب تخطي ملفات موجودة أو الكتابة فوقها.
-
إذا كان لا بد من استخدام C كملفات منفردة، فقِس أيضاً وقت فك الضغط.
في المقارنة التي تتطلب الملفات بعد فك ضغطها، اجمع وقت إنشاء ZIP ونقله وفك ضغطه. أدرج وقت إنشاء ZIP الذي قِيس سابقاً بوصفه تكلفة إنشاء ثابتة في كل مقارنة، وسجّل تكرار استخدام ملف ZIP واحد بوصفه شرطاً منفصلاً. حتى إذا كان موقع الحفظ واحداً، فلا تغفل تسجيل ما إذا كان فك الضغط قد نُفّذ على PC مع الكتابة عبر SMB، أم داخل NAS نفسه بواسطة إحدى ميزاته.
-
قِس كل حالة عدة مرات، مثل ثلاث مرات، مع تغيير الترتيب، ثم سجّل الوسيط ومدى تشتت النتائج.
استخدام وجهة جديدة لا يمسح ذاكرة التخزين المؤقت في جهة المصدر. سجّل الحالات التي تصبح فيها القراءة الثانية وحدها أسرع، وخذ في الحسبان أن قراءات التحقق من المحتوى قد تؤثر في المحاولة التالية. ترصد هذه الخطوات اتجاهات تشبه النسخ المعتاد، وليست قياساً دقيقاً لأداء وسيط التخزين من دون تخزين مؤقت.[S8: File Caching]
ستحتفظ بالأوقات وشروط القياس لكل من A وB وC. في جدول التسجيل ضمن قسم «التحقق»، استخدم A كحالة مرجعية، وقارن B وC بوصفهما طريقتين لوضع مجموعة الملفات نفسها، ولا تستخدم في تقييم السرعة إلا المحاولات الناجحة.
مقارنة مستويات التوازي في robocopy عندما لا يكون ZIP مناسباً
استخدم جلسة PowerShell نفسها التي أنشأت فيها بيانات الاختبار. تأكد من أن $smallDir يشير إلى تلك البيانات، ومن إمكانية كتابة السجلات في $lab، ومن أن المجلد الأصل للوجهة قابل للكتابة. احتفظ بالبيانات الأصلية وأنشئ وجهة جديدة لكل تشغيل. لا تضف خيارات تحذف البيانات، مثل /MIR أو /PURGE أو /MOVE.
flowchart TB
accTitle: جعل فترات انتظار الملفات الفردية متداخلة
accDescr: عند معالجة عدة ملفات بالتوازي، يمكن نقل ملف بينما ينتظر ملف آخر وصول استجابة.
A["معالجة عدة ملفات بالتوازي"] --> B["الملف A ينتظر استجابة"]
A --> C["الملف B قيد النقل"]
B --> D["تداخل فترات الانتظار"]
C --> D
الشكل 11: يجعل التوازي فترات الانتظار متداخلة، لكنه لا يزيد سرعة الشبكة أو القرص نفسه.
-
تأكد من سبب عدم ملاءمة ZIP، مثل الحاجة إلى استخدام الملفات المنفردة فوراً أو إرسال التغييرات مراراً.
يعالج الخيار /MT في robocopy عدة ملفات بالتوازي. عندما تنتظر إحدى العمليات استجابة، يمكن أن يستمر نقل آخر، لكن ذلك لا يزيد سرعة اتصال الشبكة أو الجهاز نفسه.[S9: robocopy] [S4: Performance Tuning for SMB File Servers]
-
غيّر $targetRoot إلى وجهة تملك إذن الكتابة فيها، ثم نفّذ الرمز التالي.
$targetRoot = '\\NAS\share\CopyLab' # غيّر هذا إلى وجهة النسخ الخاصة بك $runId = [guid]::NewGuid().ToString('N') $target = Join-Path $targetRoot ('small-mt8-' + $runId) $log = Join-Path $lab ('robocopy-' + $runId + '.log') robocopy $smallDir $target /E /MT:8 /R:1 /W:1 /XJ "/LOG:$log" $code = $LASTEXITCODE if ($code -ge 8) { throw "أبلغت عملية النسخ عن فشل. رمز الخروج=$code؛ السجل=$log" } Write-Host "رمز الخروج=$code. افحص في السجل أعداد الملفات المنسوخة والمتخطاة وغير المتطابقة والفاشلة، وتحقق من محتوى الوجهة: $log"استبدل اسمي NAS والمشاركة الواردين في المثال. باستخدام قاعدة القياس نفسها، ابدأ القياس قبل تشغيل الأمر مباشرة وأوقفه عند اكتماله، واحتفظ بمسار السجل المعروض ورمز الخروج.
-
قارن /MT:1 مع /MT:8 بالطريقة نفسها، مع إبقاء جميع الشروط ثابتة باستثناء مستوى التوازي.
ينشئ كل تشغيل جديد وجهة وسجلاً بمعرّف GUID جديد. يشير الجزء small-mt8 من اسم مجلد المثال إلى شرط الاختبار؛ وعند اختبار /MT:1، غيّر ذلك الجزء إلى small-mt1 لكي تظل السجلات قابلة للتمييز. لا تغيّر استخدام ZIP والتوازي في الوقت نفسه ثم تحاول تحديد أثر أحدهما؛ قيّم تغييراً واحداً في كل مرة.
/MT:8 نقطة بداية للمقارنة، وليس قيمة مثلى. قد يؤدي التوازي المفرط إلى زيادة الحمل على النظام البعيد وإبطاء النسخ. لا تعتبر المحاولة التي ظهرت فيها أخطاء دليلاً على نجاح التسريع؛ افحص السجل ومحتوى الوجهة.[S1: Slow SMB files transfer speed]
بالنسبة إلى مجموعة الملفات نفسها في B، ستحتفظ بالوقت والسجل ونتيجة التحقق من المحتوى لكل مستوى من مستويات التوازي. يشير رمز خروج يساوي 8 أو يزيد عليه إلى وجود فشل، ولذلك يوقف المثال التنفيذ، لكن رمز الخروج من 0 إلى 7 لا يلغي الحاجة إلى التحقق التالي.
التحقق
يجب تقييم اكتمال العملية وفق معيارين منفصلين: اكتمال المحتوى، وانخفاض الوقت اللازم ليصبح قابلاً للاستخدام عند ثبات الشروط. لا تُغني رسالة اكتمال النسخ أو رمز الخروج وحدهما عن التحقق من سلامة المحتوى.
مطابقة عدد الملفات والمحتوى ونتائج الأمر
النتائج المتوقعة وما يجب الرجوع إليه عند الإخفاق
| العنصر المستهدف | النتيجة المتوقعة | الإجراء عند عدم التطابق |
|---|---|---|
| وجهة نسخ A | ملف واحد باسم one.bin وحجمه 1,000,000,000 بايت. | استبعاد تلك المحاولة وفحص المصدر الذي أُنشئ ووجهة النسخ والسجل. |
| وجهة نسخ B | 10,000 ملف من part-00000.bin إلى part-09999.bin، بإجمالي 1,000,000,000 بايت. | البحث عن الملفات المتخطاة أو حالات الإخفاق أو اختلاط محتويات وجهة النسخ بنتائج محاولات أخرى. |
| C بعد فك الضغط | تحتوي المجلد small على أسماء الملفات النسبية نفسها الموجودة في B، وبالعدد نفسه وإجمالي عدد البايتات نفسه. | فحص بنية مجلدات وجهة فك الضغط، وتحديد ما إذا كان النقص قد وقع أثناء إنشاء ZIP أو نقله أو فك ضغطه. |
لا يثبت تطابق عدد الملفات وأحجامها أن محتوياتها متطابقة. عند الحاجة، قارن قيم التجزئة للملفات المتناظرة في المصدر والوجهة خارج الفترة الزمنية المقاسة. قد تؤثر قراءة الملفات لأغراض التحقق في حالة ذاكرة التخزين المؤقت للمحاولة التالية، لذلك سجّل توقيت إجراء هذا التحقق.
flowchart TB
accTitle: التحقق من المحتوى قبل مقارنة الأزمنة
accDescr: تحقّق من عدد الملفات وأحجامها، وقارن قيم التجزئة عند الحاجة، ولا تعتبر المحاولات التي تتضمن اختلافات أو إخفاقات نجاحاً في تحسين السرعة.
A["التحقق من العدد والأحجام"] --> B{"هل تتطابق؟"}
B -->|نعم| C["مقارنة قيم التجزئة عند الحاجة"]
B -->|لا| D["استبعاد المحاولة والتحقيق في السبب"]
C --> E{"هل تخلو من الاختلافات والإخفاقات؟"}
E -->|نعم| F["مقارنة الأزمنة في الشروط نفسها"]
E -->|لا| D
الشكل 12: يجب التحقق من السرعة المعروضة ومن صحة المحتوى المنسوخ كلٌّ على حدة.
خيارات robocopy ورموز الخروج
| الخيار أو النتيجة | المعنى في هذا المثال |
|---|---|
| /E | نسخ جميع المجلدات الفرعية، بما فيها المجلدات الفارغة. |
| /MT:8 | إجراء النسخ بالتوازي باستخدام ثمانية مؤشرات ترابط، ومقارنته مع /MT:1. |
| /R:1 /W:1 | إعادة المحاولة مرة واحدة بعد الإخفاق، والانتظار ثانية واحدة قبل إعادة المحاولة. |
| /XJ | استبعاد نقاط الوصل؛ تقتصر هذه المقارنة على الملفات العادية التي أُنشئت للتجربة. |
| /LOG | كتابة سجل مستقل لكل تشغيل. |
| رمز الخروج 1 | قد يُعاد بعد نسخ ناجح؛ لا يعني الرمز غير الصفري وحده وقوع إخفاق. |
| رمز الخروج 8 أو أكبر | وقوع إخفاق واحد على الأقل في النسخ؛ أوقف مقارنة السرعة وافحص السجل. |
| رمز الخروج من 0 إلى 7 | لا يضمن اكتمال النسخ بمفرده؛ افحص أعداد الملفات المنسوخة والمتخطاة وغير المتطابقة والفاشلة، وتحقق من الملفات الفعلية. |
توضح وثائق Microsoft الخاصة بـ robocopy الخيارات ورموز الخروج. تشمل المعلومات المنسوخة افتراضياً البيانات والسمات والتواريخ والأوقات؛ ولا يمثل هذا المثال نسخة احتياطية كاملة تحفظ جميع العناصر، مثل قوائم التحكم في الوصول (ACL).[S9: robocopy]
تسجيل القياسات الفعلية
جدول تعبئة النتائج
لا يتضمن الجدول التالي أي نتائج رقمية مقاسة عمداً. سجّل شروط كل محاولة وترتيبها ومكان فك الضغط ووجود الأخطاء أو عدمها. احتفظ بالأزمنة الفعلية لكل محاولة ومدى تباينها، لا بالوسيط وحده.
| الحالة | وقت الإنشاء | وقت النقل | وقت فك الضغط | إجمالي الوقت حتى يصبح المحتوى قابلاً للاستخدام |
|---|---|---|---|---|
| A: ملف كبير واحد | مستبعد لأنه جزء من التحضير للمقارنة | يُقاس ويُسجّل | غير مطلوب | وقت النقل، ويُستخدم كحالة مرجعية |
| B: 10,000 ملف صغير | مستبعد لأنه جزء من التحضير للمقارنة | يُقاس ويُسجّل | غير مطلوب | وقت النقل |
| C: ملف ZIP غير مضغوط للمجموعة B | يُسجّل وقت إنشاء ZIP | يُقاس ويُسجّل | يُسجّل عند الحاجة | الإنشاء + النقل + فك الضغط |
قيّم B وC بشرط أن تصبح مجموعة الملفات نفسها قابلة للاستخدام في وجهة الحفظ النهائية نفسها. لا يلزم فك الضغط إذا كان المطلوب مجرد تخزين ملف ZIP، لكن هذا شرط مختلف عن استخدام الملفات المنفردة. إذا تداخلت نطاقات نتائج المحاولات المتكررة، فلا تثبت النتائج تحسناً في السرعة يتجاوز التباين المرصود.
التمييز بين البطء والإخفاق
تحقّق مما إذا كان البطء يقتصر على المجموعات الكبيرة من الملفات الصغيرة، وما إذا كانت الملفات الكبيرة بطيئة أيضاً، وما يحدث عند نسخ الملف نفسه إلى وجهة محلية. إذا انخفضت السرعة أثناء النقل، فقد تكون ذاكرة التخزين المؤقت عاملاً مؤثراً أيضاً؛ ولا تكفي السرعة المعروضة وحدها لتحديد السبب.[S8: File Caching] [S1: Slow SMB files transfer speed]
flowchart TB
accTitle: تحديد نطاق بطء النسخ
accDescr: ميّز بين البطء الذي يقتصر على الملفات الصغيرة والبطء الذي يحدث بصرف النظر عن شكل البيانات.
A{"هل الملفات الصغيرة وحدها بطيئة؟"} -->|نعم| B["فحص عدد الملفات وأوقات الانتظار"]
A -->|لا| C["فحص الأجهزة والاتصالات والحمل أيضاً"]
B --> D["التحقق أيضاً من الإخفاقات وانقطاع الاتصال"]
C --> D
الشكل 13: بطء نسخ الملفات الصغيرة ليس هو نفسه إخفاق النسخ أو وجود عطل في الجهاز.
إذا أخفق النسخ أو انقطع الاتصال أو أصبح الأداء فجأة أسوأ بكثير مما كان عليه، فلا تفسّر المشكلة بعدد الملفات وحده. أوقف المقارنة وأعطِ الأولوية لحماية البيانات المهمة، ثم افحص السجلات والاتصالات والمساحة المتاحة وحالة الأجهزة. في البيئة المُدارة، قدّم شروط الاختبار والسجلات إلى المسؤول المختص.
بعد التحقق، لا تنظف بيانات التجربة إلا بعد التأكد من أن مجلد copylab المعروض ووجهات النسخ لكل محاولة هي البيانات التجريبية التي أنشأتها بنفسك. لا تتضمن المقالة أمراً للحذف التلقائي. لا تحذف الصور أو المستندات الأصلية.
القيود
ما الذي يمكن لهذه المقارنة إثباته وما الذي لا يمكنها إثباته
يوضح هذا الشرح كيف يمكن لعدد الملفات أن يؤثر في الزمن المنقضي، لكنه لا يمثل تشخيصاً قاطعاً للسبب الجذري في جهاز بعينه. الأمثلة الرقمية افتراضية، وإجراءات المقارنة ليست نتائج قياسات نُفذت مسبقاً. لا يضمن استخدام ZIP أو تغيير مستوى التوازي تحسناً في الأداء.
حتى عند استخدام وجهة جديدة وفارغة، لا تتساوى تماماً حالة ذاكرة القراءة المؤقتة في نظام التشغيل وحالة الأجهزة. كما أن الوقت حتى إغلاق نافذة النسخ لا يقيس ما إذا كانت جميع عمليات الكتابة قد وصلت إلى حالة تصمد أمام انقطاع مفاجئ للطاقة. لا تختبر ذلك بفصل جهاز خارجي مباشرة بعد اكتمال النسخ؛ استخدم إجراء الإزالة الآمنة المعتاد.[S8: File Caching]
النسخ الاحتياطي وميزات الحماية متطلبات منفصلة
ملفات .bin التي أُنشئت وملف ZIP غير المضغوط ليست سوى بيانات للمقارنة. لدى Compress-Archive قيود، منها تجاهل الملفات المخفية، كما أن تشغيل robocopy بالخيارات العادية لا يحفظ جميع السمات والأذونات. لا تصمم نسخة احتياطية كاملة للبيانات المهمة اعتماداً على مقارنة السرعة هذه وحدها.[S7: Compress-Archive] [S9: robocopy]
لا توصي هذه المقالة بتعطيل الحماية من الفيروسات أو توقيع SMB لزيادة السرعة. يحمي توقيع SMB الاتصالات من العبث. لا تتجاوز إعدادات جهاز مُدار؛ استشر المسؤول المختص.[S10: SMB signing overview]
قبل شراء جهاز أسرع، ابدأ بفحص الحجم الإجمالي وعدد الملفات ومسار النسخ الفعلي وإجمالي الوقت حتى تصبح الملفات قابلة للاستخدام. لا تفصل قرار اعتماد تحسين معين عن التحقق من صحة المحتوى المنسوخ.
المراجع
تم التحقق من هذه المصادر في 17 سبتمبر 2026. يُذكر أدناه ما يدعمه كل مصدر. أمثلة الإعداد الواردة في وثائق الخوادم ليست معدة لتطبيقها كما هي من قِبل المستخدمين العاديين أو على جميع أجهزة NAS.
[S1] Microsoft Learn, Slow SMB files transfer speed. يدعم شرح العبء الناتج عن إنشاء الملفات والاتصالات والفحص عند التعامل مع أعداد كبيرة من الملفات الصغيرة، وكذلك النسخ المتوازي وفك الأرشيف على جهة الوجهة.
[S2] Microsoft Learn, CreateFileW function. يصف عمليات فتح الملفات وإنشائها، وحقوق الوصول المطلوبة، وأوضاع المشاركة.
[S3] Microsoft Learn, Master File Table. يصف كيفية احتفاظ NTFS بمعلومات الإدارة لكل ملف.
[S4] Microsoft Learn, Performance Tuning for SMB File Servers. يدعم شرح التوازي وتسجيل السجلات باستخدام robocopy عند نسخ الملفات الصغيرة.
[S5] Microsoft Open Specifications, Sending Compounded Requests. يصف كيفية إرسال SMB2 عدة عمليات مترابطة معاً.
[S6] Microsoft Support, Zip and unzip files. يدعم شرح جمع الملفات في أرشيف ZIP، ويوضح أن التنسيقات المضغوطة مسبقاً، مثل JPEG، قد لا ينخفض حجمها كثيراً عند ضغطها مرة أخرى.
[S7] Microsoft Learn, Compress-Archive. يصف خيار NoCompression والقيود، مثل تجاهل الملفات المخفية.
[S8] Microsoft Learn, File Caching. يصف ذاكرة التخزين المؤقت لملفات النظام وآلية الكتابة المؤجلة.
[S9] Microsoft Learn, robocopy. يصف مستويات التوازي وإعادة المحاولة وتسجيل السجلات وخيارات النسخ ورموز الخروج.
[S10] Microsoft Learn, SMB signing overview. يصف الغرض الوقائي لتوقيع SMB ودوره التشغيلي.
مقالات ذات صلة
أحدث المقالات التي تشترك في نفس الوسوم. عمّق فهمك بمواضيع مرتبطة.
ما جدولة GPU المسرَّعة عتاديّاً في Windows؟ هل تفعيلها يجعل الحاسوب أسرع؟
دليل موضَّح لغير المختصّين عن جدولة GPU المسرَّعة عتاديّاً (HAGS) في Windows: كيف تعمل، ومتى تُفعَّل أو تُوقَف، ولماذا قد يغيب الإعداد، و...
لماذا ينقطع الصوت رغم انخفاض استخدام CPU؟ — قراءة من زاوية المخزن المؤقّت والموعد النهائي
يشرح سبب انقطاع الصوت رغم انخفاض استخدام CPU انطلاقاً من المخزن المؤقّت والموعد النهائي لتعبئته، ويعرض البيئة المستهدفة، وإجراءً يغيّر شر...
القرص عند 100٪: ما الذي ينبغي إيقافه فعليّاً؟ — التمييز بين SysMain وWindows Search وDefender
اعزل استخدام قرص Windows عند 100٪ عبر معدّل النقل وزمن الاستجابة والملفّات. أوقف SysMain مؤقّتاً بأمان، وضيّق نطاق Windows Search، وحلّل ...
هل إيقاف سلامة الذاكرة (HVCI) يجعل Windows أسرع؟ ── المعنى والإجراء والحكم
هل إيقاف سلامة الذاكرة (HVCI) يسرّع حاسوب Windows فعلاً؟ متى يمكن أن يساعد، ومتى لا، وكيف توقفه وتعيده، وكيف تقرّر.
الوضع الداكن وسمة التباين في تطبيقات Windows ── شريط العنوان الداكن عبر DWM، وتتبع سمة النظام في WinForms/WPF، والرسم عند التباين العالي
شرح جعل تطبيقات WinForms/WPF تتبع الوضع الداكن وسمة التباين في Windows 11. نرتّب شريط العنوان الداكن عبر DWM، وSetColorMode وThemeMode في...
مواضيع ذات صلة
صفحات مواضيع قريبة من موضوع هذه المقالة. وانطلاقًا من المقالة يمكنكم الانتقال إلى الخدمات ذات الصلة وإلى مقالات أخرى.
مواضيع ويندوز التقنية
مدخل إلى المواضيع التقنية في تطوير ويندوز والتحقيق في الأخطاء وإعادة استخدام الأصول القائمة.
الخدمات المرتبطة بهذا الموضوع
ترتبط هذه المقالة بشكل طبيعي بصفحات الخدمات التالية.
تطوير تطبيقات ويندوز
ندعم تطوير برامج ويندوز، مثل تطبيقات الأعمال وتكامل الأجهزة وأدوات الاتصالات.
الأسئلة الشائعة
أسئلة شائعة نتلقّاها عند الاستشارة حول موضوع هذه المقالة.
- لماذا يُنسَخ مجلّد الصور أبطأ رغم أنّ الحجم واحد؟
- النسخ ليس نقل المحتويات وحدها. لكلّ ملفّ يُنشأ ملفّ الوجهة، وتُدار معلوماته، ويُغلق، وما إلى ذلك. عندما تكثر الملفّات الصغيرة ترتفع حصّة هذه المعالجة والانتظار. المهمّ ليس صيغة الصورة ذاتها بل عدد الملفّات وحجم كلّ واحد.
- هل تبقى الملفّات الصغيرة بطيئة النسخ على SSD أو شبكة LAN سريعة؟
- نعم. حتّى على SSD يبقى عمل إدارة الملفّات، وعند النسخ إلى NAS أو ما شابه يُضاف زمن انتظار الشبكة ومعالجة الطرف الآخر. سرعة النقل المتواصل لملفّات كبيرة وسرعة معالجة آلاف الملفّات الصغيرة أمران مختلفان.
- إذا لم يصغر JPEG داخل ZIP، فهل للتجميع أيّ فائدة؟
- حتّى حين لا يكاد الحجم ينكمش، يبقى لتجميع الملفّات المنقولة في ملفّ واحد أثر. غير أنّ إنشاء ZIP واستخراجه يستغرقان وقتاً أيضاً. للاستخدامات التي تتطلّب الاستخراج قارن الزمن الإجمالي للإنشاء والنقل والاستخراج.
- هل يكون أسرع أن أرسل ZIP إلى NAS ثمّ أستخرجه إلى المجلّد المشترك من الحاسوب؟
- بهذه الطريقة يكتب الحاسوب الملفّات الصغيرة المستخرَجة إلى NAS، فيحدث إنشاء الملفّات عبر الشبكة من جديد. ميّز هذا عن الاستخراج داخل NAS بميزة يدعمها NAS نفسه، وقِس مع الاستخراج مشمولاً.
- هل يزداد نسخ robocopy المتوازي سرعة كلّما زدت الخيوط؟
- لا. التوازي يسمح بتداخل انتظارات كلّ ملفّ، لكنّه يزيد أيضاً الحمل على التخزين أو NAS. قارن في الشروط نفسها بدءاً من عدد خيوط صغير، وراجع السجلّ بحثاً عن فشل النسخ والملفّات الفائتة كذلك.
الملف الشخصي للمؤلف
صفحة الملف الشخصي لمؤلف المقالة.
غو كومورا
ممثل شركة كومورا سوفت ذ.م.م.
يركّز على تطوير برامج ويندوز، والاستشارات التقنية، والتحقيق في الأخطاء، ويتميّز في المشاريع التي تبقى فيها الأصول القديمة ناشطة، وفي تشخيص الأعطال التي يصعب تحديد سببها.