1s 8.3 يعمل ببطء شديد ما يجب القيام به. نصائح الأتمتة
كثيرًا ما أتلقى أسئلة مثل:
- بسبب ما يبطئ الخادم 1C؟
- يعمل الكمبيوتر مع 1C ببطء شديد
- العميل 1C بطيء للغاية
ماذا تفعل وكيف تربحها وهكذا بالترتيب:
يعمل العملاء ببطء شديد مع إصدار الخادم 1C
بالإضافة إلى العمل البطيء لـ 1C ، هناك أيضًا عمل بطيء مع ملفات الشبكة. تحدث المشكلة أثناء التشغيل العادي ومع RDP
لحل هذه المشكلة ، بعد كل تثبيت لخادم Seven أو 2008 ، أقوم دائمًا بتشغيل
تعيين netsh int tcp ضبط تلقائي شامل = معطل
تعيين netsh int tcp autotuninglevel العمومي = معطل
netsh int tcp set global rss = مدخنة معطلة = معطلة
والشبكة تعمل بدون مشاكل
في بعض الأحيان يكون الأفضل هو:
تعيين واجهة netsh tcp الضبط التلقائي العام = HighlyRestricted
هذا ما يبدو عليه الإعداد
قم بتكوين برنامج مكافحة الفيروسات أو جدار حماية Windows
كيفية تكوين برنامج مكافحة الفيروسات أو جدار حماية Windows لتشغيل خادم 1C (حزمة من خادم 1C: Enterprise و MS SQL 2008 ، على سبيل المثال).
أضف القواعد:
- إذا كان خادم SQL يقبل الاتصالات على منفذ TCP القياسي 1433 ، فإننا نسمح بذلك.
- إذا كان منفذ SQL ديناميكيًا ، يجب أن تسمح بالاتصالات بالتطبيق٪ ProgramFiles٪ \ Microsoft SQL Server \ MSSQL10_50.MSSQLSERVER \ MSSQL \ Binn \ sqlservr.exe.
- يعمل الخادم 1C على المنافذ 1541 والمجموعة 1540 والنطاق 1560-1591. لأسباب غامضة تمامًا ، في بعض الأحيان لا تزال قائمة المنافذ المفتوحة هذه لا تسمح بالاتصالات بالخادم. لجعلها تعمل بشكل مؤكد ، اترك النطاق 1540-1591.
ضبط أداء الخادم / الكمبيوتر
لكي يعمل الكمبيوتر بأقصى أداء ، تحتاج إلى تكوينه لهذا:
1. إعدادات BIOS
- في BIOS الخادم ، قم بتعطيل جميع الإعدادات لتوفير طاقة المعالج.
- إذا كان هناك "C1E" وتأكد من قطع الاتصال !!
- بالنسبة لبعض المهام غير المتوازية ، يوصى أيضًا بإيقاف تشغيل مؤشر الترابط في السير
- في بعض الحالات (خاصة بالنسبة لـ HP!) ، تحتاج إلى الانتقال إلى BIOS الخاص بالخادم وإيقاف تشغيل العناصر الموجودة هناك ، والتي باسمها توجد EIST و Intel SpeedStep و C1E.
- بدلاً من ذلك ، تحتاج إلى العثور في نفس المكان على العناصر المتعلقة بالمعالج ، والذي يوجد باسمه Turbo Boost ، وتمكينها.
- إذا كان BIOS يحتوي على مؤشر عام لوضع توفير الطاقة وتمكينه في وضع الأداء الأقصى (يمكن أن يطلق عليه أيضًا "العدواني")
2. إعدادات المخطط في نظام التشغيل - أداء عالي
يمكن للخوادم ذات بنية Intel Sandy Bridge تغيير ترددات المعالجات ديناميكيًا.
في في الآونة الأخيرةبدأ المستخدمون والمسؤولون في الشكوى بشكل متزايد من أن تكوينات 1C الجديدة التي تم تطويرها على أساس تطبيق مُدار بطيئة ، وفي بعض الحالات بطيئة بشكل غير مقبول. من الواضح أن التكوينات الجديدة تحتوي على وظائف وإمكانيات جديدة ، وبالتالي فهي تتطلب المزيد من الموارد ، لكن معظم المستخدمين لا يفهمون ما يؤثر بشكل أساسي على تشغيل 1C في وضع الملف. دعنا نحاول إصلاح هذه الفجوة.
في منطقتنا ، لقد تطرقنا بالفعل إلى تأثير أداء نظام القرص الفرعي على سرعة 1C ، ولكن هذه الدراسةتتعلق بالاستخدام المحلي للتطبيق على جهاز كمبيوتر منفصل أو خادم طرفي. في الوقت نفسه ، تتضمن معظم التطبيقات الصغيرة العمل مع قاعدة ملفات عبر شبكة ، حيث يتم استخدام أحد أجهزة الكمبيوتر الخاصة بالمستخدم كخادم ، أو خادم ملفات مخصص يعتمد على كمبيوتر عادي ، وغالبًا ما يكون غير مكلف.
أظهرت دراسة صغيرة لموارد اللغة الروسية على 1C أن هذه المشكلة يتم تجاوزها بجد ؛ في حالة حدوث مشاكل ، يُنصح عادةً بالتبديل إلى وضع الخادم العميل أو الوضع الطرفي. كما أصبح من المقبول عمومًا تقريبًا أن التكوينات على تطبيق مُدار تعمل بشكل أبطأ بكثير من التكوينات المعتادة. كقاعدة عامة ، يتم إعطاء الحجج "حديد": "هنا طارت المحاسبة 2.0 للتو ، و" الترويكا "بالكاد تتحرك ، بالطبع ، هناك بعض الحقيقة في هذه الكلمات ، لذلك دعونا نحاول معرفة ذلك.
استهلاك الموارد في لمحة
قبل البدء في هذه الدراسة ، وضعنا لأنفسنا هدفين: معرفة ما إذا كانت التكوينات القائمة على التطبيق المُدارة أبطأ بالفعل من التكوينات التقليدية ، وما هي الموارد التي لها أكبر تأثير على الأداء.
للاختبار ، أخذنا جهازين ظاهريين يعملان بنظامي التشغيل Windows Server 2012 R2 و Windows 8.1 ، على التوالي ، وخصصنا لهما مركزين من المضيف Core i5-4670 و 2 جيجابايت ذاكرة الوصول العشوائي، وهو ما يعادل تقريبًا جهاز مكتب متوسط. تم وضع الخادم على صفيف RAID 0 من اثنين ، وتم وضع العميل على مجموعة مماثلة من الأقراص ذات الأغراض العامة.
كقواعد تجريبية ، اخترنا عدة تكوينات لإصدار المحاسبة 2.0 2.0.64.12 ، والذي تم تحديثه بعد ذلك إلى 3.0.38.52 ، تم تشغيل جميع التكوينات على النظام الأساسي 8.3.5.1443 .
أول ما يلفت الانتباه هو الحجم المتزايد لقاعدة المعلومات الخاصة بالترويكا ، والتي نمت بشكل ملحوظ ، بالإضافة إلى زيادة شهية ذاكرة الوصول العشوائي:
نحن مستعدون بالفعل لسماع المعتاد: "ما الذي أضافوه إلى هذا الثلاثي" ، لكن دعونا لا نتسرع. على عكس مستخدمي إصدارات خادم العميل ، والتي تتطلب مسؤولاً مؤهلاً أكثر أو أقل ، نادرًا ما يفكر مستخدمو إصدارات الملفات في صيانة قاعدة البيانات. أيضًا ، نادراً ما يفكر موظفو الشركات المتخصصة التي تخدم (قراءة - تحديث) هذه القواعد في الأمر.
وفي الوقت نفسه ، تعد قاعدة معلومات 1C عبارة عن نظام DBMS كامل بتنسيق خاص به ، والذي يتطلب أيضًا صيانة ، ولهذا توجد أداة تسمى اختبار وتثبيت قاعدة المعلومات. ربما لعب الاسم مزحة قاسية ، والتي ، كما كانت ، تعني أن هذه أداة لاستكشاف الأخطاء وإصلاحها ، ولكن أداء سيءهي أيضًا مشكلة ، وإعادة الهيكلة وإعادة الفهرسة ، جنبًا إلى جنب مع ضغط الجدول ، هي أدوات معروفة لتحسين قاعدة البيانات لأي مسؤول DBMS. دعونا تحقق؟
بعد تطبيق الإجراءات المختارة ، "فقدت" قاعدة البيانات الوزن بشكل كبير ، وأصبحت أصغر من "الاثنين" ، والتي لم يقم أحد بتحسينها أيضًا ، كما انخفض استهلاك ذاكرة الوصول العشوائي بشكل طفيف.
بعد ذلك ، بعد تحميل المصنفات والأدلة الجديدة ، وإنشاء الفهارس ، وما إلى ذلك. حجم القاعدة سينمو ، بشكل عام ، قواعد "الثلاثة" أكبر من قواعد "الاثنين". ومع ذلك ، هذا ليس أكثر أهمية ، إذا كان الإصدار الثاني يحتوي على 150-200 ميغا بايت من ذاكرة الوصول العشوائي ، فإن الإصدار الجديد يحتاج إلى نصف جيجا بايت بالفعل ، ويجب أخذ هذه القيمة في الاعتبار عند التخطيط للموارد اللازمة للعمل مع البرنامج .
شبكة
يعد عرض النطاق الترددي للشبكة أحد أهم المعلمات لتطبيقات الشبكة ، خاصةً 1C في وضع الملف ، حيث ينقل كميات كبيرة من البيانات عبر الشبكة. تم بناء معظم شبكات المؤسسات الصغيرة على أساس معدات غير مكلفة 100 ميجابت في الثانية ، لذلك بدأنا الاختبار من خلال مقارنة مؤشرات أداء 1C في شبكات 100 ميجابت في الثانية و 1 جيجابت في الثانية.
ماذا يحدث عند بدء تشغيل قاعدة ملفات 1C عبر الشبكة؟ يقوم العميل بتنزيل قدر كبير نسبيًا من المعلومات في مجلدات مؤقتة ، خاصةً إذا كان هذا هو أول تشغيل "بارد". بمعدل 100 ميجابت في الثانية ، من المتوقع أن نواجه عرض النطاق الترددي ويمكن أن يستغرق التنزيل وقتًا طويلاً ، في حالتنا ، حوالي 40 ثانية (سعر قسم الرسم البياني هو 4 ثوانٍ).
يكون التشغيل الثاني أسرع ، حيث يتم تخزين بعض البيانات في ذاكرة التخزين المؤقت وتبقى هناك حتى إعادة التشغيل. يمكن أن يؤدي الانتقال إلى شبكة جيجابت إلى تسريع تحميل البرنامج بشكل كبير ، "بارد" و "ساخن" ، ويتم ملاحظة نسبة القيم. لذلك ، قررنا التعبير عن النتيجة بشكل نسبي ، مع أخذ القيمة الأكبر لكل قياس على أنها 100٪:
كما ترى من الرسوم البيانية ، يتم تحميل برنامج Accounting 2.0 بسرعة مضاعفة بأي سرعة شبكة ، يتيح لك الانتقال من 100 ميجابت في الثانية إلى 1 جيجابت في الثانية تسريع وقت التنزيل بمقدار أربع مرات. لا يوجد فرق بين قواعد بيانات Troika المحسّنة وغير المحسّنة في هذا الوضع.
قمنا أيضًا بفحص تأثير سرعة الشبكة على العمليات الشاقة ، على سبيل المثال ، أثناء إعادة استضافة المجموعة. يتم التعبير عن النتيجة أيضًا بمصطلحات نسبية:
الأمر الأكثر إثارة للاهتمام هنا هو أن القاعدة المُحسَّنة لـ "الترويكا" في شبكة 100 ميجابت / ثانية تعمل بنفس سرعة "اثنين" ، وتعرض القاعدة غير المُحسَّنة ضعف النتيجة الأسوأ. على جيجابت ، يتم الاحتفاظ بالنسب ، كما أن "الثلاثة" غير المحسّن بطيء أيضًا ضعف معدل "اثنين" ، ويتأخر المعدل المحسّن بمقدار الثلث. أيضًا ، يتيح لك الانتقال إلى 1 جيجابت / ثانية تقليل وقت التنفيذ بمقدار ثلاثة أضعاف للإصدار 2.0 ومرتين للإصدار 3.0.
من أجل تقييم تأثير سرعة الشبكة على العمل اليومي ، استخدمنا مقياس الاداءمن خلال تنفيذ سلسلة من الإجراءات المحددة مسبقًا في كل قاعدة بيانات.
في الواقع ، بالنسبة للمهام اليومية ، لا يمثل النطاق الترددي للشبكة عنق الزجاجة ، أما "الثلاثة" غير المحسّن فهو أبطأ بنسبة 20٪ فقط من اثنين ، وبعد التحسين يتضح أنه أسرع تقريبًا - تؤثر مزايا العمل في وضع العميل الرقيق. لا يمنح الانتقال إلى 1 جيجابت / ثانية القاعدة المحسّنة أي مزايا ، وتبدأ القاعدة غير المحسّنة والشيطان في العمل بشكل أسرع ، مما يظهر فرقًا بسيطًا بينهما.
من الاختبارات التي تم إجراؤها ، يتضح أن الشبكة ليست عنق الزجاجة للتكوينات الجديدة ، ويعمل التطبيق المُدار بشكل أسرع من المعتاد. يمكنك أيضًا التوصية بالتبديل إلى 1 جيجابت / ثانية إذا كانت المهام الثقيلة وسرعة تحميل قاعدة البيانات أمرًا بالغ الأهمية بالنسبة لك ، وفي حالات أخرى ، تسمح لك التكوينات الجديدة بالعمل بفعالية حتى في الشبكات البطيئة 100 ميجابت / ثانية.
فلماذا يتباطأ 1C؟ سنقوم بالتحقيق أكثر.
النظام الفرعي لقرص الخادم و SSD
في المقالة السابقة ، حققنا زيادة في أداء 1C من خلال وضع قواعد البيانات على SSD. ربما أداء النظام الفرعي لقرص الخادم لا يكفي؟ أخذنا قياسات الأداء خادم القرصخلال عقد المجموعة في قاعدتي بيانات في وقت واحد وحصلت على نتيجة متفائلة إلى حد ما.
على الرغم من العدد المرتفع نسبيًا لعمليات الإدخال / الإخراج في الثانية (IOPS) - 913 ، إلا أن طول قائمة الانتظار لم يتجاوز 1.84 ، وهو أمر بالغ الأهمية نتيجة جيدة. بناءً عليه ، يمكننا أن نفترض أن المرآة من الأقراص العادية ستكون كافية للتشغيل العادي لـ 8-10 عملاء شبكة في أوضاع ثقيلة.
إذن هل هناك حاجة إلى SSD على الخادم؟ أفضل إجابة على هذا السؤال ستساعد في الاختبار ، الذي أجريناه باستخدام منهجية مماثلة ، اتصال الشبكة هو 1 جيجابت / ثانية في كل مكان ، ويتم التعبير عن النتيجة أيضًا في القيم النسبية.
لنبدأ بسرعة تحميل قاعدة البيانات.
قد يبدو الأمر مفاجئًا لشخص ما ، لكن قاعدة SSD على الخادم لا تؤثر على سرعة تنزيل قاعدة البيانات. العامل المحدد الرئيسي هنا ، كما هو موضح في الاختبار السابق ، هو معدل نقل الشبكة وأداء العميل.
دعنا ننتقل إلى إعادة الأسلاك:
لقد أشرنا بالفعل أعلاه إلى أن أداء القرص كافٍ تمامًا حتى بالنسبة للتشغيل الشاق ، وبالتالي فإن سرعة SSD لا تتأثر أيضًا ، باستثناء القاعدة غير المُحسَّنة ، التي تلاحق الأداء الأمثل على SSD. في الواقع ، يؤكد هذا مرة أخرى أن عمليات التحسين تنظم المعلومات في قاعدة البيانات ، مما يقلل من عدد عمليات الإدخال / الإخراج العشوائية ويزيد من سرعة الوصول إليها.
في المهام اليومية ، الصورة متشابهة:
فقط القاعدة غير المحسّنة هي التي تتلقى الاستفادة من SSD. بالطبع ، يمكنك شراء SSD ، ولكن سيكون من الأفضل بكثير التفكير في صيانة القواعد في الوقت المناسب. أيضًا ، لا تنس إلغاء تجزئة قسم قاعدة المعلومات على الخادم.
النظام الفرعي لقرص العميل و SSD
قمنا بتحليل تأثير SSD على سرعة 1C المثبت محليًا ، وكثير مما قيل ينطبق أيضًا على العمل في وضع الشبكة. في الواقع ، يستخدم 1C بشكل نشط موارد القرص ، بما في ذلك المهام الخلفية والمجدولة. في الشكل أدناه ، يمكنك أن ترى كيف يقوم برنامج Accounting 3.0 بالوصول إلى القرص بشكل نشط لمدة 40 ثانية تقريبًا بعد التحميل.
ولكن في نفس الوقت ، يجب أن تدرك أنه بالنسبة لمحطة العمل حيث العمل النشطيتم إنتاجه باستخدام قاعدة أو قاعدتي معلومات من موارد الأداء لمحرك الأقراص الصلبة التقليدي لسلسلة جماعية كافية تمامًا. يمكن أن يؤدي شراء SSD إلى تسريع بعض العمليات ، لكنك لن تلاحظ تسارعًا جذريًا في العمل اليومي ، نظرًا لأن التحميل ، على سبيل المثال ، سيكون محدودًا الإنتاجيةالشبكات.
بطيء HDDيمكن أن يبطئ بعض العمليات ، ولكن في حد ذاته لا يمكن أن يتسبب في إبطاء البرنامج.
الرامات " الذاكرة العشوائية في الهواتف والحواسيب "
على الرغم من حقيقة أن ذاكرة الوصول العشوائي رخيصة الآن بشكل فاحش ، إلا أن العديد من محطات العمل تواصل العمل مع مقدار الذاكرة التي تم تثبيتها عند شرائها. هذا هو المكان الذي تكمن فيه المشاكل الأولى في الانتظار. استنادًا إلى حقيقة أن متوسط "الترويكا" يتطلب حوالي 500 ميجابايت من الذاكرة ، يمكننا أن نفترض أن الحجم الإجمالي لذاكرة الوصول العشوائي البالغة 1 جيجابايت للعمل مع البرنامج لن يكون كافيًا.
قمنا بتقليل ذاكرة النظام إلى 1 جيجابايت وأطلقنا قاعدتي معلومات.
للوهلة الأولى ، كل شيء ليس سيئًا للغاية ، فقد خفف البرنامج من شهيته واحتفظ به تمامًا في الذاكرة المتاحة ، لكن دعونا لا ننسى أن الحاجة إلى البيانات التشغيلية لم تتغير ، فأين ذهبوا؟ يتدفق إلى القرص ، وذاكرة التخزين المؤقت ، والمبادلة ، وما إلى ذلك ، جوهر هذه العملية هو أن البيانات غير المطلوبة في الوقت الحالي يتم إرسالها من ذاكرة الوصول العشوائي السريعة ، والتي لا يكفي مقدارها لإبطاء القرص.
إلى أين يقودنا؟ دعونا نرى كيف يتم استخدام موارد النظام في العمليات الثقيلة ، على سبيل المثال ، لنبدأ إعادة تشغيل المجموعة في قاعدتي بيانات في وقت واحد. أولاً على نظام بسعة 2 جيجابايت من ذاكرة الوصول العشوائي:
كما ترى ، يستخدم النظام الشبكة بنشاط لتلقي البيانات والمعالج لمعالجتها ، ونشاط القرص غير مهم ، في عملية المعالجة ينمو أحيانًا ، لكنه ليس عاملاً مقيدًا.
لنقم الآن بتقليل الذاكرة إلى 1 جيجابايت:
يتغير الوضع بشكل جذري ، حيث يقع الحمل الرئيسي الآن على القرص الصلب ، والمعالج والشبكة في وضع الخمول ، في انتظار أن يقوم النظام بقراءة البيانات الضرورية من القرص إلى الذاكرة وإرسال البيانات غير الضرورية هناك.
في الوقت نفسه ، حتى العمل الشخصي مع قاعدتي بيانات مفتوحتين على نظام بسعة 1 غيغابايت من الذاكرة تبين أنه غير مريح للغاية ، وتم فتح الدلائل والمجلات بتأخير كبير والوصول النشط إلى القرص. على سبيل المثال ، استغرق فتح مجلة Sales of Goods and Services حوالي 20 ثانية وكان مصحوبًا بنشاط قرص مرتفع طوال هذا الوقت (تم تمييزه بخط أحمر).
من أجل التقييم الموضوعي لتأثير ذاكرة الوصول العشوائي على أداء التكوينات بناءً على تطبيق مُدار ، أجرينا ثلاثة قياسات: سرعة تحميل القاعدة الأولى ، وسرعة تحميل القاعدة الثانية ، وإعادة إرسال المجموعة في إحدى القواعد. كلتا القاعدتين متطابقتين تمامًا وتم إنشاؤهما عن طريق نسخ القاعدة المحسّنة. يتم التعبير عن النتيجة بوحدات نسبية.
تتحدث النتيجة عن نفسها ، إذا زاد وقت التحميل بنحو الثلث ، وهو ما لا يزال مقبولًا تمامًا ، فإن وقت إجراء العمليات في قاعدة البيانات ينمو ثلاث مرات ، فلا داعي للتحدث عن أي عمل مريح في مثل هذه الظروف. بالمناسبة ، هذا هو الحال عند شراء SSD يمكن أن يحسن الموقف ، ولكن من الأسهل (والأرخص) التعامل مع السبب ، وليس العواقب ، وشراء الكمية المناسبة من ذاكرة الوصول العشوائي.
يعد نقص ذاكرة الوصول العشوائي هو السبب الرئيسي وراء عدم الراحة في العمل مع تكوينات 1C الجديدة. يجب مراعاة الحد الأدنى من التكوينات المناسبة مع وجود ذاكرة 2 جيجا بايت على اللوحة. في الوقت نفسه ، ضع في اعتبارك أنه في حالتنا ، تم إنشاء ظروف "الدفيئة": نظام نظيف ، تم إطلاق 1C فقط ومدير المهام. في الحياة الواقعية ، عادةً ما يكون المتصفح ، أو مجموعة مكتبية ، أو مضاد فيروسات ، وما إلى ذلك ، مفتوحًا على جهاز كمبيوتر يعمل ، لذا انطلق من الحاجة إلى 500 ميجابايت لكل قاعدة بيانات بالإضافة إلى بعض الهامش بحيث لا تتعرض لنقص أثناء العمليات الثقيلة الذاكرة وتدهور الأداء الشديد.
وحدة المعالجة المركزية
يمكن تسمية وحدة المعالجة المركزية ، بدون مبالغة ، بقلب الكمبيوتر ، حيث إنه هو الذي يعالج جميع الحسابات في النهاية. لتقييم دورها ، أجرينا مجموعة أخرى من الاختبارات ، مثل ذاكرة الوصول العشوائي (RAM) ، حيث قللنا عدد النوى المتاحة للجهاز الظاهري من اثنين إلى واحد ، بينما تم إجراء الاختبار مرتين بأحجام ذاكرة 1 جيجا بايت و 2 جيجا بايت.
تبين أن النتيجة مثيرة للاهتمام وغير متوقعة ، حيث تولى معالج أكثر قوة تحمل العبء بشكل فعال في مواجهة نقص الموارد ، وإلا دون إعطاء أي فوائد ملموسة. لا يمكن تسمية 1C Enterprise (في وضع الملف) بالتطبيق الذي يستخدم موارد المعالج بنشاط ، بدلاً من التساهل. وفي الظروف الصعبة ، لا يتحمل المعالج عبء حساب بيانات التطبيق نفسه ، ولكن عن طريق خدمة التكاليف العامة: عمليات الإدخال / الإخراج الإضافية ، وما إلى ذلك.
الاستنتاجات
إذن ، لماذا يتباطأ 1C؟ بادئ ذي بدء ، هذا هو نقص ذاكرة الوصول العشوائي ، يقع الحمل الرئيسي في هذه الحالة على القرص الصلب والمعالج. وإذا لم يتألقوا في الأداء ، كما هو الحال عادةً في تكوينات المكاتب ، فإننا نحصل على الموقف الموصوف في بداية المقال - يعمل "الاثنان" بشكل جيد ، ويتباطأ "الثلاثة" بلا خجل.
يجب إعطاء المركز الثاني لأداء الشبكة ، حيث يمكن أن تصبح القناة البطيئة 100 ميجابت في الثانية عنق زجاجة حقيقي ، ولكن في نفس الوقت ، يكون وضع العميل الرقيق قادرًا على الحفاظ على مستوى مريح إلى حد ما من العمل حتى على القنوات البطيئة.
ثم يجب الانتباه إلى القرص الأول ، فمن غير المرجح أن يكون شراء SSD استثمارًا جيدًا ، ولكن استبدال القرص بآخر أكثر حداثة لن يكون ضروريًا. يمكن تقدير الفرق بين أجيال محركات الأقراص الثابتة من المواد التالية:.
وأخيرًا المعالج. بالطبع ، لن يكون النموذج الأسرع غير ضروري ، ولكن هناك فائدة قليلة من زيادة أدائه ، ما لم يتم استخدام هذا الكمبيوتر في العمليات الثقيلة: معالجة الدُفعات ، والتقارير الثقيلة ، وإغلاق الشهر ، وما إلى ذلك.
نأمل أن تساعدك هذه المادة في فهم مسألة "سبب تباطؤ 1C" بسرعة وحلها بشكل أكثر فاعلية وبدون تكلفة إضافية.
العلامات:
يحتل نظام 1C موقعًا مهيمنًا في سوق الأتمتة للشركات الصغيرة والمتوسطة الحجم. إذا اختارت الشركة نظام محاسبة 1C ، فعادة ما يعمل فيه جميع الموظفين تقريبًا ، من المتخصصين العاديين إلى الإدارة. وفقًا لذلك ، تعتمد سرعة العمليات التجارية للشركة على سرعة 1 درجة مئوية. إذا كانت 1C تعمل بسرعة غير مرضية ، فإن هذا يؤثر بشكل مباشر على عمل الشركة بأكملها والأرباح.
في الواقع هناك ثلاث طرق لتسريع 1C:
- زيادة سعة الأجهزة.
- تحسين نظام التشغيل وإعدادات DBMS.
- تحسين الكود والخوارزميات في 1C.
تتطلب الطريقة الأولى شراء المعدات والتراخيص ، وتتطلب الطريقة الثالثة الكثير من العمالة للمبرمجين ، ونتيجة لذلك ، تؤدي كلتا الطريقتين إلى تكاليف مالية كبيرة. بادئ ذي بدء ، تحتاج إلى الانتباه إلى رمز البرنامج ، حيث لا يمكن أن تعوض أي زيادة في سعة الخادم عن الكود غير الصحيح. يعرف أي مبرمج أنه من خلال بضعة أسطر فقط من التعليمات البرمجية ، من الممكن إنشاء عملية تقوم بتحميل موارد أي خادم بشكل كامل.
إذا كانت الشركة واثقة من أمثلية كود البرنامج ، ولا تزال تعمل ببطء ، فعادة ما تقرر الإدارة زيادة سعة الخادم. في هذه المرحلة ، يظهر سؤال منطقي: ما هو المفقود ، وكم وما الذي يجب إضافته نتيجة لذلك.
تقدم شركة 1C إجابة غامضة إلى حد ما على سؤال حول عدد الموارد المطلوبة ، وقد كتبنا عنها في وقت سابق في منشوراتنا. ولذا عليك إجراء تجارب بشكل مستقل ومعرفة ما يعتمد عليه أداء 1C. تم وصف تجارب الأداء في EFSOL أدناه.
عند العمل مع 1C 8.2 ، خاصة مع التكوينات التي تستخدم النماذج المدارة ، لوحظت حقيقة غريبة: 1C يعمل بشكل أسرع على محطة عمل منه على خادم قوي. علاوة على ذلك ، فإن جميع خصائص محطة العمل أسوأ من تلك الخاصة بالخادم.
الجدول 1 - التكوينات التي تم إجراء الاختبار الأولي عليها
تُظهر محطة العمل أداءً أعلى بنسبة 155٪ من أداء خادم 1C مع أداء فائق. بدأنا في معرفة ما هو الأمر وتضييق دائرة البحث.
الشكل 1 - قياسات الأداء على محطة العمل بواسطة اختبار Gilev
كان الشك الأول هو أن اختبار جيليف لم يكن كافياً. أظهرت قياسات النماذج الافتتاحية ، وترحيل المستندات ، وإنشاء التقارير ، وما إلى ذلك باستخدام أدوات القياس أن اختبار Gilev يعطي تقديرًا يتناسب مع السرعة الفعلية للعمل في 1C.
عدد وتواتر ذاكرة الوصول العشوائي
أظهر تحليل المعلومات المتاحة على الإنترنت أن الكثيرين يكتبون عن اعتماد أداء 1C على تردد الذاكرة. إنه من التردد وليس من الحجم. قررنا اختبار هذه الفرضية ، نظرًا لأن لدينا تردد ذاكرة الوصول العشوائي (RAM) يبلغ 1066 ميجاهرتز على الخادم مقابل 1333 ميجاهرتز على محطة العمل ، كما أن حجم ذاكرة الوصول العشوائي على الخادم أعلى من ذلك بكثير. قررنا عدم وضع 1066 ميجا هرتز ، ولكن 800 ميجا هرتز على الفور لجعل تأثير اعتماد الأداء على تردد الذاكرة أكثر وضوحًا. النتيجة - انخفضت الإنتاجية بنسبة 12٪ وبلغت 39.37 وحدة. قمنا بتثبيت ذاكرة بتردد 1333 ميجاهرتز بدلاً من 1066 ميجاهرتز على الخادم وحصلنا على زيادة طفيفة في الأداء - حوالي 11٪. كانت الإنتاجية 19.53 وحدة. وبناءً على ذلك ، لا يتعلق الأمر بالذاكرة ، على الرغم من أن ترددها يعطي زيادة طفيفة.
الشكل 2 - قياسات الأداء على محطة العمل بعد خفض تردد ذاكرة الوصول العشوائي
الشكل 3 - قياسات الأداء على الخادم بعد زيادة تردد ذاكرة الوصول العشوائي
نظام القرص الفرعي
كانت الفرضية التالية مرتبطة بنظام القرص الفرعي. نشأت فرضيتان على الفور:
- تعد محركات أقراص الحالة الثابتة أفضل من محركات أقراص SAS ، حتى لو كانت في الغارة 10.
- بروتوكول iSCSI بطيء أو لا يعمل بشكل صحيح.
لذلك ، تم تثبيت قرص SATA عادي في محطة العمل بدلاً من SSD ، وتم عمل الشيء نفسه مع الخادم - تم وضع القاعدة على قرص SATA محلي. نتيجة لذلك ، لم تتغير قياسات الأداء بأي شكل من الأشكال. يحدث هذا على الأرجح ، نظرًا لوجود ذاكرة وصول عشوائي كافية ولا يتم استخدام الأقراص عمليًا بأي شكل من الأشكال أثناء الاختبار.
وحدة المعالجة المركزية
المعالجات الموجودة على الخادم ، بالطبع ، أكثر قوة وهناك اثنان منهم ، لكن التردد أقل قليلاً مما هو عليه في محطة العمل. قررنا التحقق من تأثير تردد المعالج على الأداء: لم تكن هناك معالجات ذات تردد أعلى في متناول اليد للخادم ، لذلك قمنا بخفض تردد المعالج على محطة العمل. قمنا على الفور بتخفيضه إلى 1.6 بحيث تجلى الارتباط أكثر إشراقًا. أظهر الاختبار أن الأداء انخفض بشكل كبير ، ولكن حتى مع معالج 1.6 ، أنتجت محطة العمل ما يقرب من 28 وحدة ، أي ما يقرب من 1.5 مرة أكثر من الخادم.
الشكل 4 - قياسات الأداء على محطة عمل بمعالج 1.6 جيجاهرتز
بطاقة فيديو
هناك معلومات على الإنترنت تفيد بأن بطاقة الفيديو يمكن أن تؤثر على أداء 1C. حاولنا استخدام فيديو محطة عمل متكامل ومحول احترافي نفيديا نفيديا® Quadro® 4000 2 جيجا بايت DDR5 ، قديم بطاقة رسومات GeForce 16 ميجا بايت أثناء اختبار غيليف ، لم يلاحظ أي فرق كبير. ربما تظل بطاقة الفيديو مؤثرة ، ولكن في الظروف الحقيقية ، عندما تحتاج إلى فتح النماذج المُدارة ، إلخ.
في الوقت الحالي ، هناك نوعان من الشكوك حول سبب تشغيل محطة العمل بشكل أسرع حتى مع أداء أسوأ بشكل ملحوظ:
- وحدة المعالجة المركزية.يعد نوع المعالج الموجود على محطة العمل أكثر ملاءمة لـ 1C.
- شرائح.عند تساوي الأشياء الأخرى ، تحتوي محطة العمل الخاصة بنا على مجموعة شرائح أحدث ، وقد يكون هذا هو السبب.
نخطط لشراء المكونات الضرورية ومواصلة الاختبارات من أجل معرفة ما يعتمد عليه أداء 1C إلى حد كبير. أثناء إجراء عملية الموافقة والشراء ، قررنا إجراء التحسين ، خاصةً أنه لا يكلف شيئًا. تم تحديد الخطوات التالية:
المرحلة 1. إعداد النظام
أولاً ، لنقم بإجراء الإعدادات التالية في BIOS ونظام التشغيل:
- في BIOS الخادم ، قم بتعطيل جميع الإعدادات لتوفير طاقة المعالج.
- حدد خطة "الحد الأقصى للأداء" في نظام التشغيل.
- تم ضبط المعالج أيضًا للحصول على أقصى أداء. يمكن القيام بذلك باستخدام الأداة المساعدة PowerSchemeEd.
المرحلة 2. إعداد خادم SQL و 1 C: خادم المؤسسة
نجري التغييرات التالية على إعدادات خادم DBMS و 1 C: Enterprise.
- تكوين بروتوكول الذاكرة المشتركة:
- سيتم تمكين الذاكرة المشتركة فقط على النظام الأساسي بدءًا من 1C 8.2.17 ، في الإصدارات السابقة سيتم تمكين Named Pipe - سرعة أقل إلى حد ما. تعمل هذه التقنية فقط إذا تم تثبيت خدمات 1C و MSSQL على نفس الخادم الفعلي أو الظاهري.
- يوصى بوضع خدمة 1C في وضع التصحيح ، ومن المفارقات أن هذا يعطي دفعة للأداء. بشكل افتراضي ، يتم تعطيل التصحيح على الخادم.
- إعداد خادم SQL:
- نحتاج فقط إلى خادم ، وبقية الخدمات التي تنتمي إليه ، وربما يستخدمها شخص ما ، تؤدي فقط إلى إبطاء العمل. نقوم بإيقاف وتعطيل خدمات مثل: FullText Search (1C لديها آلية البحث عن النص الكامل الخاصة بها) ، خدمات التكامل ، إلخ.
- قم بتعيين الحد الأقصى لمقدار الذاكرة المخصص للخادم. يعد هذا ضروريًا لكي يعتمد خادم SQL على هذا المقدار وينظف الذاكرة مسبقًا.
- قم بتعيين الحد الأقصى لعدد سلاسل الرسائل (الحد الأقصى لمؤشرات الترابط) وقم بتعيين أولوية الخادم المتزايدة (أولوية التعزيز).
المرحلة 3. إنشاء قاعدة بيانات صالحة للعمل
بعد تحسين خادم DBMS و 1 C: Enterprise ، ننتقل إلى إعدادات قاعدة البيانات. إذا لم يتم نشر القاعدة من ملف dt. ، وكنت تعرف حجمه التقريبي ، فمن الأفضل الإشارة على الفور إلى حجم تهيئة الملف الأساسي باستخدام "> =" من الحجم الأساسي ، ولكن هذه مسألة من الذوق ، ستظل تنمو عند نشرها. ولكن يجب تحديد الزيادة التلقائية في الحجم: حوالي 200 ميجابايت لكل قاعدة بيانات و 50 ميجابايت لكل سجل ، لأن. القيم الافتراضية - النمو بمقدار 1 ميجابايت وبنسبة 10٪ يبطئ الخادم كثيرًا ، عندما يحتاج إلى زيادة الملف مع كل معاملة ثالثة. من الأفضل أيضًا تخزين الملف الأساسي وملف السجل على أقراص فعلية مختلفة أو مجموعات RAID في حالة استخدام مصفوفة RAID ، والحد من نمو السجل. يوصى بنقل ملف Tempdb إلى مصفوفة عالية السرعة ، نظرًا لأن نظام إدارة قواعد البيانات (DBMS) يصل إليه كثيرًا.
المرحلة 4. إعداد المهام المجدولة
يتم إنشاء المهام المجدولة بكل بساطة باستخدام خطة الصيانة في قسم الإدارة ، باستخدام أدوات رسومية ، لذلك لن نصف بالتفصيل كيف يتم ذلك. دعنا نتحدث عن العمليات التي يجب إجراؤها لتحسين الأداء.
- يجب إلغاء تجزئة الفهارس وتحديث الإحصائيات على أساس يومي. إذا كان تجزئة الفهرس> 25٪ ، فسيؤدي ذلك إلى تقليل أداء الخادم بشكل كبير.
- إلغاء تجزئة الإحصائيات وتحديثها - يتم ذلك بسرعة ولا يتطلب فصل المستخدمين. من المستحسن أيضًا القيام به يوميًا.
- إعادة الفهرسة الكاملة - يتم إجراؤها باستخدام قفل قاعدة البيانات ، ويوصى بإجراء ذلك مرة واحدة على الأقل في الأسبوع. بطبيعة الحال ، بعد إعادة الفهرسة الكاملة ، يتم إلغاء تجزئة الفهارس وتحديث الإحصائيات على الفور.
نتيجة لذلك ، بمساعدة ضبط النظام وخادم SQL وقاعدة العمل ، تمكنا من زيادة الإنتاجية بنسبة 46٪. تم إجراء القياسات باستخدام أداة 1C وباستخدام اختبار Gilev. أظهر الأخير 25.6 وحدة مقابل 17.53 التي كانت في الأصل.
استنتاج موجز
- لا يعتمد أداء 1C كثيرًا على تردد ذاكرة الوصول العشوائي. عندما يتم الوصول إلى حجم كافٍ ، فإن توسيع الذاكرة الإضافي لا معنى له ، لأنه لا يؤدي إلى زيادة في الأداء.
- لا يعتمد أداء 1C على بطاقة الفيديو.
- لا يعتمد أداء 1C على نظام القرص الفرعي ، بشرط ألا يتم تجاوز قائمة الانتظار لقراءة أو كتابة الأقراص. إذا تم تثبيت محركات أقراص SATA ولم تتجاوز قائمة الانتظار ، فلن يؤدي تثبيت SSD إلى تحسين الأداء.
- الأداء يعتمد بشكل كبير على تردد المعالج.
- من خلال التكوين المناسب لنظام التشغيل وخادم MSSQL ، من الممكن تحقيق زيادة في أداء 1C بنسبة 40-50٪ دون أي تكاليف مادية.
الانتباه! جدا نقطة مهمة! تم إجراء جميع القياسات على قاعدة اختبار باستخدام اختبار Gilev وأدوات القياس 1C. قد يختلف سلوك قاعدة البيانات الحقيقية مع المستخدمين الحقيقيين عن النتائج التي تم الحصول عليها. على سبيل المثال ، في قاعدة بيانات الاختبار ، لم نجد أي اعتماد على الأداء على بطاقة الفيديو ومقدار ذاكرة الوصول العشوائي. هذه الاستنتاجات مشكوك فيها إلى حد ما وفي الظروف الحقيقية يمكن أن يكون لهذه العوامل تأثير كبير على الأداء. عند العمل مع التكوينات التي تستخدم النماذج المُدارة ، تعد بطاقة الفيديو مهمة ، كما أن معالج الرسومات القوي يعمل على تسريع العمل من حيث رسم واجهة البرنامج ، ويتجلى ذلك بصريًا في عملية 1C أسرع.
هل 1C الخاص بك يعمل ببطء؟ اطلب صيانة تقنية المعلومات لأجهزة الكمبيوتر والخوادم بواسطة متخصصي EFSOL الذين يتمتعون بخبرة سنوات عديدة أو قم بنقل 1C الخاص بك إلى خادم افتراضي 1C قوي ومتحمل للأخطاء.
نظام التكامل. مستشار
غالبًا ما نتلقى أسئلة حول ما يبطئ 1s ، خاصة عند التبديل إلى الإصدار 1s 8.3 ، بفضل زملائنا من Interface LLC ، نقول بالتفصيل:
في منشوراتنا السابقة ، تطرقنا بالفعل إلى تأثير أداء النظام الفرعي للقرص على سرعة 1C ، ومع ذلك ، فإن هذه الدراسة تتعلق بالاستخدام المحلي للتطبيق على جهاز كمبيوتر منفصل أو خادم طرفي. في الوقت نفسه ، تتضمن معظم التطبيقات الصغيرة العمل مع قاعدة ملفات عبر شبكة ، حيث يتم استخدام أحد أجهزة الكمبيوتر الخاصة بالمستخدم كخادم ، أو خادم ملفات مخصص يعتمد على كمبيوتر عادي ، وغالبًا ما يكون غير مكلف.
أظهرت دراسة صغيرة لموارد اللغة الروسية على 1C أن هذه المشكلة يتم تجاوزها بجد ؛ في حالة حدوث مشاكل ، يُنصح عادةً بالتبديل إلى وضع الخادم العميل أو الوضع الطرفي. كما أصبح من المقبول عمومًا تقريبًا أن التكوينات على تطبيق مُدار تعمل بشكل أبطأ بكثير من التكوينات المعتادة. كقاعدة عامة ، يتم إعطاء الحجج "حديد": "هنا طارت المحاسبة 2.0 للتو ، و" الترويكا "بالكاد تتحرك" ، بالطبع ، هناك حقيقة في هذه الكلمات ، لذلك دعونا نحاول معرفة ذلك.
استهلاك الموارد في لمحة
قبل البدء في هذه الدراسة ، وضعنا لأنفسنا هدفين: معرفة ما إذا كانت التكوينات القائمة على التطبيق المُدارة أبطأ بالفعل من التكوينات التقليدية ، وما هي الموارد التي لها أكبر تأثير على الأداء.
للاختبار ، أخذنا جهازين ظاهريين يعملان بنظامي التشغيل Windows Server 2012 R2 و Windows 8.1 ، على التوالي ، مع نواتين للمضيف Core i5-4670 و 2 غيغابايت من ذاكرة الوصول العشوائي ، والتي تتوافق مع جهاز مكتب متوسط. تم وضع الخادم على مجموعة RAID 0 من جهازي WD Se ، وتم وضع العميل على مجموعة مماثلة من الأقراص ذات الأغراض العامة.
كقواعد تجريبية ، اخترنا عدة تكوينات لإصدار المحاسبة 2.0 2.0.64.12 ، والذي تم تحديثه بعد ذلك إلى 3.0.38.52 ، تم تشغيل جميع التكوينات على النظام الأساسي 8.3.5.1443 .
أول ما يلفت الانتباه هو الحجم المتزايد لقاعدة المعلومات الخاصة بالترويكا ، والتي نمت بشكل ملحوظ ، بالإضافة إلى زيادة شهية ذاكرة الوصول العشوائي:
نحن مستعدون بالفعل لسماع المعتاد: "ما الذي أضافوه إلى هذا الثلاثي" ، لكن دعونا لا نتسرع. على عكس مستخدمي إصدارات خادم العميل ، والتي تتطلب مسؤولاً مؤهلاً أكثر أو أقل ، نادرًا ما يفكر مستخدمو إصدارات الملفات في صيانة قاعدة البيانات. أيضًا ، نادراً ما يفكر موظفو الشركات المتخصصة التي تخدم (قراءة - تحديث) هذه القواعد في الأمر.
وفي الوقت نفسه ، تعد قاعدة معلومات 1C عبارة عن نظام DBMS كامل بتنسيق خاص به ، والذي يتطلب أيضًا صيانة ، ولهذا توجد أداة تسمى اختبار وتثبيت قاعدة المعلومات. ربما لعب الاسم مزحة قاسية ، والتي يبدو أنها توحي بأن هذه أداة لاستكشاف الأخطاء وإصلاحها ، ولكن الأداء الضعيف يمثل أيضًا مشكلة ، وإعادة الهيكلة وإعادة الفهرسة ، إلى جانب ضغط الجدول ، هي أدوات معروفة لتحسين قاعدة البيانات لأي مسؤول RDBMS. دعونا تحقق؟
بعد تطبيق الإجراءات المختارة ، "فقدت" قاعدة البيانات الوزن بشكل كبير ، وأصبحت أصغر من "الاثنين" ، والتي لم يقم أحد بتحسينها أيضًا ، كما انخفض استهلاك ذاكرة الوصول العشوائي بشكل طفيف.
بعد ذلك ، بعد تحميل المصنفات والأدلة الجديدة ، وإنشاء الفهارس ، وما إلى ذلك. حجم القاعدة سينمو ، بشكل عام ، قواعد "الثلاثة" أكبر من قواعد "الاثنين". ومع ذلك ، هذا ليس أكثر أهمية ، إذا كان الإصدار الثاني يحتوي على 150-200 ميغا بايت من ذاكرة الوصول العشوائي ، فإن الإصدار الجديد يحتاج إلى نصف جيجا بايت بالفعل ، ويجب أخذ هذه القيمة في الاعتبار عند التخطيط للموارد اللازمة للعمل مع البرنامج .
شبكة
يعد عرض النطاق الترددي للشبكة أحد أهم المعلمات لتطبيقات الشبكة ، خاصةً 1C في وضع الملف ، حيث ينقل كميات كبيرة من البيانات عبر الشبكة. تم بناء معظم شبكات المؤسسات الصغيرة على أساس معدات غير مكلفة 100 ميجابت في الثانية ، لذلك بدأنا الاختبار من خلال مقارنة مؤشرات أداء 1C في شبكات 100 ميجابت في الثانية و 1 جيجابت في الثانية.
ماذا يحدث عند بدء تشغيل قاعدة ملفات 1C عبر الشبكة؟ يقوم العميل بتنزيل قدر كبير نسبيًا من المعلومات في مجلدات مؤقتة ، خاصةً إذا كان هذا هو أول تشغيل "بارد". بمعدل 100 ميجابت في الثانية ، من المتوقع أن نواجه عرض النطاق الترددي ويمكن أن يستغرق التنزيل وقتًا طويلاً ، في حالتنا ، حوالي 40 ثانية (سعر قسم الرسم البياني هو 4 ثوانٍ).
يكون التشغيل الثاني أسرع ، حيث يتم تخزين بعض البيانات في ذاكرة التخزين المؤقت وتبقى هناك حتى إعادة التشغيل. يمكن أن يؤدي الانتقال إلى شبكة جيجابت إلى تسريع تحميل البرنامج بشكل كبير ، "بارد" و "ساخن" ، ويتم ملاحظة نسبة القيم. لذلك ، قررنا التعبير عن النتيجة بشكل نسبي ، مع أخذ القيمة الأكبر لكل قياس على أنها 100٪:
كما ترى من الرسوم البيانية ، يتم تحميل برنامج Accounting 2.0 بسرعة مضاعفة بأي سرعة شبكة ، يتيح لك الانتقال من 100 ميجابت في الثانية إلى 1 جيجابت في الثانية تسريع وقت التنزيل بمقدار أربع مرات. لا يوجد فرق بين قواعد بيانات Troika المحسّنة وغير المحسّنة في هذا الوضع.
قمنا أيضًا بفحص تأثير سرعة الشبكة على العمليات الشاقة ، على سبيل المثال ، أثناء إعادة استضافة المجموعة. يتم التعبير عن النتيجة أيضًا بمصطلحات نسبية:
الأمر الأكثر إثارة للاهتمام هنا هو أن القاعدة المُحسَّنة لـ "الترويكا" في شبكة 100 ميجابت / ثانية تعمل بنفس سرعة "اثنين" ، وتعرض القاعدة غير المُحسَّنة ضعف النتيجة الأسوأ. على جيجابت ، يتم الاحتفاظ بالنسب ، كما أن "الثلاثة" غير المحسّن بطيء أيضًا ضعف معدل "اثنين" ، ويتأخر المعدل المحسّن بمقدار الثلث. أيضًا ، يتيح لك الانتقال إلى 1 جيجابت / ثانية تقليل وقت التنفيذ بمقدار ثلاثة أضعاف للإصدار 2.0 ومرتين للإصدار 3.0.
من أجل تقييم تأثير سرعة الشبكة على العمل اليومي ، استخدمنا مقياس الاداءمن خلال تنفيذ سلسلة من الإجراءات المحددة مسبقًا في كل قاعدة بيانات.
في الواقع ، بالنسبة للمهام اليومية ، لا يمثل النطاق الترددي للشبكة عنق الزجاجة ، أما "الثلاثة" غير المحسّن فهو أبطأ بنسبة 20٪ فقط من اثنين ، وبعد التحسين يتضح أنه أسرع تقريبًا - تؤثر مزايا العمل في وضع العميل الرقيق. لا يمنح الانتقال إلى 1 جيجابت / ثانية القاعدة المحسّنة أي مزايا ، وتبدأ القاعدة غير المحسّنة والشيطان في العمل بشكل أسرع ، مما يظهر فرقًا بسيطًا بينهما.
من الاختبارات التي تم إجراؤها ، يتضح أن الشبكة ليست عنق الزجاجة للتكوينات الجديدة ، ويعمل التطبيق المُدار بشكل أسرع من المعتاد. يمكنك أيضًا التوصية بالتبديل إلى 1 جيجابت / ثانية إذا كانت المهام الثقيلة وسرعة تحميل قاعدة البيانات أمرًا بالغ الأهمية بالنسبة لك ، وفي حالات أخرى ، تسمح لك التكوينات الجديدة بالعمل بفعالية حتى في الشبكات البطيئة 100 ميجابت / ثانية.
فلماذا يتباطأ 1C؟ سنقوم بالتحقيق أكثر.
النظام الفرعي لقرص الخادم و SSD
في المقالة السابقة ، حققنا زيادة في أداء 1C من خلال وضع قواعد البيانات على SSD. ربما أداء النظام الفرعي لقرص الخادم لا يكفي؟ قمنا بقياس أداء خادم القرص أثناء تشغيل مجموعة في قاعدتي بيانات في وقت واحد وحصلنا على نتيجة متفائلة إلى حد ما.
على الرغم من العدد الكبير نسبيًا لعمليات الإدخال / الإخراج في الثانية (IOPS) - 913 ، إلا أن طول قائمة الانتظار لم يتجاوز 1.84 ، وهي نتيجة جيدة جدًا لمجموعة من قرصين. بناءً عليه ، يمكننا أن نفترض أن المرآة من الأقراص العادية ستكون كافية للتشغيل العادي لـ 8-10 عملاء شبكة في أوضاع ثقيلة.
إذن هل هناك حاجة إلى SSD على الخادم؟ أفضل إجابة على هذا السؤال ستساعد في الاختبار ، الذي أجريناه باستخدام منهجية مماثلة ، اتصال الشبكة هو 1 جيجابت / ثانية في كل مكان ، ويتم التعبير عن النتيجة أيضًا في القيم النسبية.
لنبدأ بسرعة تحميل قاعدة البيانات.
قد يبدو الأمر مفاجئًا لشخص ما ، لكن قاعدة SSD على الخادم لا تؤثر على سرعة تنزيل قاعدة البيانات. العامل المحدد الرئيسي هنا ، كما هو موضح في الاختبار السابق ، هو معدل نقل الشبكة وأداء العميل.
دعنا ننتقل إلى إعادة الأسلاك:
لقد أشرنا بالفعل أعلاه إلى أن أداء القرص كافٍ تمامًا حتى بالنسبة للتشغيل الشاق ، وبالتالي فإن سرعة SSD لا تتأثر أيضًا ، باستثناء القاعدة غير المُحسَّنة ، التي تلاحق الأداء الأمثل على SSD. في الواقع ، يؤكد هذا مرة أخرى أن عمليات التحسين تنظم المعلومات في قاعدة البيانات ، مما يقلل من عدد عمليات الإدخال / الإخراج العشوائية ويزيد من سرعة الوصول إليها.
في المهام اليومية ، الصورة متشابهة:
فقط القاعدة غير المحسّنة هي التي تتلقى الاستفادة من SSD. بالطبع ، يمكنك شراء SSD ، ولكن سيكون من الأفضل بكثير التفكير في صيانة القواعد في الوقت المناسب. أيضًا ، لا تنس إلغاء تجزئة قسم قاعدة المعلومات على الخادم.
النظام الفرعي لقرص العميل و SSD
قمنا بتحليل تأثير SSD على سرعة 1C المثبت محليًا في المقالة السابقة ، وكثير مما قيل ينطبق أيضًا على العمل في وضع الشبكة. في الواقع ، يستخدم 1C بشكل نشط موارد القرص ، بما في ذلك المهام الخلفية والمجدولة. في الشكل أدناه ، يمكنك أن ترى كيف يقوم برنامج Accounting 3.0 بالوصول إلى القرص بشكل نشط لمدة 40 ثانية تقريبًا بعد التحميل.
ولكن في الوقت نفسه ، يجب على المرء أن يدرك أنه بالنسبة لمحطة عمل يتم فيها تنفيذ العمل النشط باستخدام قاعدة أو قاعدتين للمعلومات ، فإن موارد أداء محرك الأقراص الثابتة التقليدي لسلسلة جماعية كافية تمامًا. يمكن أن يؤدي شراء SSD إلى تسريع بعض العمليات ، لكنك لن تلاحظ تسارعًا جذريًا في العمل اليومي ، نظرًا لأن التنزيل ، على سبيل المثال ، سيكون مقيدًا بنطاق الشبكة الترددي.
يمكن أن يؤدي محرك الأقراص الثابتة البطيء إلى إبطاء بعض العمليات ، لكنه لا يمكنه في حد ذاته التسبب في إبطاء البرنامج.
الرامات " الذاكرة العشوائية في الهواتف والحواسيب "
على الرغم من حقيقة أن ذاكرة الوصول العشوائي رخيصة الآن بشكل فاحش ، إلا أن العديد من محطات العمل تواصل العمل مع مقدار الذاكرة التي تم تثبيتها عند شرائها. هذا هو المكان الذي تكمن فيه المشاكل الأولى في الانتظار. استنادًا إلى حقيقة أن متوسط "الترويكا" يتطلب حوالي 500 ميجابايت من الذاكرة ، يمكننا أن نفترض أن الحجم الإجمالي لذاكرة الوصول العشوائي البالغة 1 جيجابايت للعمل مع البرنامج لن يكون كافيًا.
قمنا بتقليل ذاكرة النظام إلى 1 جيجابايت وأطلقنا قاعدتي معلومات.
للوهلة الأولى ، كل شيء ليس سيئًا للغاية ، فقد خفف البرنامج من شهيته واحتفظ به تمامًا في الذاكرة المتاحة ، لكن دعونا لا ننسى أن الحاجة إلى البيانات التشغيلية لم تتغير ، فأين ذهبوا؟ يتدفق إلى القرص ، وذاكرة التخزين المؤقت ، والمبادلة ، وما إلى ذلك ، جوهر هذه العملية هو أن البيانات غير المطلوبة في الوقت الحالي يتم إرسالها من ذاكرة الوصول العشوائي السريعة ، والتي لا يكفي مقدارها لإبطاء القرص.
إلى أين يقودنا؟ دعونا نرى كيف يتم استخدام موارد النظام في العمليات الثقيلة ، على سبيل المثال ، لنبدأ إعادة تشغيل المجموعة في قاعدتي بيانات في وقت واحد. أولاً على نظام بسعة 2 جيجابايت من ذاكرة الوصول العشوائي:
كما ترى ، يستخدم النظام الشبكة بنشاط لتلقي البيانات والمعالج لمعالجتها ، ونشاط القرص غير مهم ، في عملية المعالجة ينمو أحيانًا ، لكنه ليس عاملاً مقيدًا.
لنقم الآن بتقليل الذاكرة إلى 1 جيجابايت:
يتغير الوضع بشكل جذري ، حيث يقع الحمل الرئيسي الآن على القرص الصلب ، والمعالج والشبكة في وضع الخمول ، في انتظار أن يقوم النظام بقراءة البيانات الضرورية من القرص إلى الذاكرة وإرسال البيانات غير الضرورية هناك.
في الوقت نفسه ، حتى العمل الشخصي مع قاعدتي بيانات مفتوحتين على نظام بسعة 1 غيغابايت من الذاكرة تبين أنه غير مريح للغاية ، وتم فتح الدلائل والمجلات بتأخير كبير والوصول النشط إلى القرص. على سبيل المثال ، استغرق فتح مجلة Sales of Goods and Services حوالي 20 ثانية وكان مصحوبًا بنشاط قرص مرتفع طوال هذا الوقت (تم تمييزه بخط أحمر).
من أجل التقييم الموضوعي لتأثير ذاكرة الوصول العشوائي على أداء التكوينات بناءً على تطبيق مُدار ، أجرينا ثلاثة قياسات: سرعة تحميل القاعدة الأولى ، وسرعة تحميل القاعدة الثانية ، وإعادة إرسال المجموعة في إحدى القواعد. كلتا القاعدتين متطابقتين تمامًا وتم إنشاؤهما عن طريق نسخ القاعدة المحسّنة. يتم التعبير عن النتيجة بوحدات نسبية.
تتحدث النتيجة عن نفسها ، إذا زاد وقت التحميل بنحو الثلث ، وهو ما لا يزال مقبولًا تمامًا ، فإن وقت إجراء العمليات في قاعدة البيانات ينمو ثلاث مرات ، فلا داعي للتحدث عن أي عمل مريح في مثل هذه الظروف. بالمناسبة ، هذا هو الحال عند شراء SSD يمكن أن يحسن الموقف ، ولكن من الأسهل (والأرخص) التعامل مع السبب ، وليس العواقب ، وشراء الكمية المناسبة من ذاكرة الوصول العشوائي.
يعد نقص ذاكرة الوصول العشوائي هو السبب الرئيسي وراء عدم الراحة في العمل مع تكوينات 1C الجديدة. يجب مراعاة الحد الأدنى من التكوينات المناسبة مع وجود ذاكرة 2 جيجا بايت على اللوحة. في الوقت نفسه ، ضع في اعتبارك أنه في حالتنا ، تم إنشاء ظروف "الدفيئة": نظام نظيف ، تم إطلاق 1C فقط ومدير المهام. في الحياة الواقعية ، عادةً ما يكون المتصفح ، أو مجموعة مكتبية ، أو مضاد فيروسات ، وما إلى ذلك ، مفتوحًا على جهاز كمبيوتر يعمل ، لذا انطلق من الحاجة إلى 500 ميجابايت لكل قاعدة بيانات بالإضافة إلى بعض الهامش بحيث لا تتعرض لنقص أثناء العمليات الثقيلة الذاكرة وتدهور الأداء الشديد.
وحدة المعالجة المركزية
يمكن تسمية وحدة المعالجة المركزية ، بدون مبالغة ، بقلب الكمبيوتر ، حيث إنه هو الذي يعالج جميع الحسابات في النهاية. لتقييم دورها ، أجرينا مجموعة أخرى من الاختبارات ، مثل ذاكرة الوصول العشوائي (RAM) ، حيث قللنا عدد النوى المتاحة للجهاز الظاهري من اثنين إلى واحد ، بينما تم إجراء الاختبار مرتين بأحجام ذاكرة 1 جيجا بايت و 2 جيجا بايت.
تبين أن النتيجة مثيرة للاهتمام وغير متوقعة ، حيث تولى معالج أكثر قوة تحمل العبء بشكل فعال في مواجهة نقص الموارد ، وإلا دون إعطاء أي فوائد ملموسة. 1C Enterprise بالكاد يمكن أن يطلق عليه تطبيق يستخدم موارد المعالج بنشاط ، بدلاً من التساهل. وفي الظروف الصعبة ، لا يتحمل المعالج عبء حساب بيانات التطبيق نفسه ، ولكن عن طريق خدمة التكاليف العامة: عمليات الإدخال / الإخراج الإضافية ، وما إلى ذلك.
الاستنتاجات
إذن ، لماذا يتباطأ 1C؟ بادئ ذي بدء ، هذا هو نقص ذاكرة الوصول العشوائي ، يقع الحمل الرئيسي في هذه الحالة على القرص الصلب والمعالج. وإذا لم يتألقوا في الأداء ، كما هو الحال عادةً في تكوينات المكاتب ، فإننا نحصل على الموقف الموصوف في بداية المقال - يعمل "الاثنان" بشكل جيد ، ويتباطأ "الثلاثة" بلا خجل.
يجب إعطاء المركز الثاني لأداء الشبكة ، حيث يمكن أن تصبح القناة البطيئة 100 ميجابت في الثانية عنق زجاجة حقيقي ، ولكن في نفس الوقت ، يكون وضع العميل الرقيق قادرًا على الحفاظ على مستوى مريح إلى حد ما من العمل حتى على القنوات البطيئة.
ثم يجب الانتباه إلى القرص الأول ، فمن غير المرجح أن يكون شراء SSD استثمارًا جيدًا ، ولكن استبدال القرص بآخر أكثر حداثة لن يكون ضروريًا. يمكن تقدير الفرق بين أجيال محركات الأقراص الثابتة من المواد التالية: نظرة عامة على سلسلتين من سلسلة Western Digital Blue غير المكلفة بمحرك سعة 500 جيجابايت و 1 تيرابايت.
وأخيرًا المعالج. بالطبع ، لن يكون النموذج الأسرع غير ضروري ، ولكن هناك فائدة قليلة من زيادة أدائه ، ما لم يتم استخدام هذا الكمبيوتر في العمليات الثقيلة: معالجة الدُفعات ، والتقارير الثقيلة ، وإغلاق الشهر ، وما إلى ذلك.
نأمل أن تساعدك هذه المادة في فهم مسألة "سبب تباطؤ 1C" بسرعة وحلها بشكل أكثر فاعلية وبدون تكلفة إضافية.
يجب أن تكون عبارة "1C يبطئ" قد سمعت من قبل كل شخص يعمل مع المنتجات على 1C: منصة المؤسسة. شخص ما اشتكى من ذلك ، شخص ما قبل الشكاوى. في هذه المقالة ، سنحاول النظر في الأسباب الأكثر شيوعًا لهذه المشكلة وخيارات حلها.
دعنا ننتقل إلى الاستعارة: قبل معرفة سبب عدم ذهاب الشخص إلى مكان ما ، يجدر التأكد من أن لديه أرجل يمشي عليها. لذا ، لنبدأ بمتطلبات الأجهزة والشبكة.
إذا تم تثبيت Windows 7:
إذا تم تثبيت Windows 8 أو 10:
تذكر أيضًا أنه يجب أن تكون هناك مساحة خالية على القرص لا تقل عن 2 غيغابايت ، ويجب أن تكون سرعة اتصال الشبكة 100 ميجابت / ثانية على الأقل.
ليس من المنطقي مراعاة خصائص الخوادم في إصدار العميل-الخادم ، لأنه في هذه الحالة يعتمد كل شيء على عدد المستخدمين وخصائص المهام التي يقومون بحلها في 1C.
عند اختيار تكوين لخادم ، ضع في اعتبارك ما يلي:
- تستهلك عملية عاملة واحدة لخادم 1C ما معدله 4 جيجا بايت (يجب عدم الخلط بينه وبين اتصال المستخدم ، لأن عملية عاملة واحدة يمكن أن تحتوي على العديد من الاتصالات التي تحددها في إعدادات الخادم) ؛
- يعطي استخدام 1C و DBMS (خاصة MS SQL) على نفس الخادم المادي مكسبًا عند معالجة مصفوفات البيانات الكبيرة (على سبيل المثال ، إغلاق شهر ، وحساب ميزانية وفقًا لنموذج ، وما إلى ذلك) ، ولكنه يقلل بشكل كبير من الأداء أثناء العمليات غير المحملة (على سبيل المثال ، إنشاء وتنفيذ وثيقة التنفيذ ، وما إلى ذلك) ؛
- تذكر أنه يجب توصيل خوادم 1C ونظام إدارة قواعد البيانات عبر قناة "سميكة" من 1 جيجابايت ؛
- استخدم أقراصًا عالية الأداء ولا تدمج أدوار خادم 1C و DBMS مع أدوار أخرى (على سبيل المثال ، ملف ، AD ، وحدة تحكم المجال ، إلخ).
في حالة استمرار "بطء" درجة حرارة 1C بعد فحص الجهاز
لدينا شركة صغيرة ، 7 أشخاص ، و 1 C "يبطئ". لجأنا إلى المتخصصين ، وقالوا إن خيار خادم العميل فقط هو الذي سيوفر لنا. لكن بالنسبة لنا ، مثل هذا الحل غير مقبول ، فهو مكلف للغاية!
إجراء الصيانة الروتينية في قاعدة البيانات *:
1. ابدأ قاعدة البيانات في وضع المُكوِّن.
2. حدد عنصر "الإدارة" في القائمة الرئيسية ، وفيه - "الاختبار والتثبيت".
3. اضبط جميع مربعات الاختيار كما في الصورة. انقر فوق تشغيل.
* قد يستغرق هذا الإجراء من 15 دقيقة إلى ساعة ، حسب حجم القاعدة وخصائص جهاز الكمبيوتر الخاص بك.
إذا لم يساعد ذلك ، فإننا نجري اتصالاً بين الخادم والعميل ، ولكن بدون استثمارات إضافية في الأجهزة والبرامج:
1. اختر الكمبيوتر الأقل تحميلًا في المكتب من بين الأجهزة الثابتة (وليس الكمبيوتر المحمول): يجب أن يحتوي على 4 جيجابايت على الأقل من ذاكرة الوصول العشوائي واتصال شبكة لا يقل عن 100 ميجا بايت / ثانية.
2. قم بتنشيط IIS (Internet Information Server) عليه. لهذا:
3. انشر قاعدة البيانات الخاصة بك على هذا الكمبيوتر. توجد مواد متاحة حول هذا الموضوع في ITS ، أو اتصل بأخصائي دعم.
4. على أجهزة كمبيوتر المستخدم ، قم بتكوين الوصول إلى قاعدة البيانات من خلال عميل رقيق. لهذا:
افتح نافذة الإطلاق 1C.
اختر قاعدة العمل الخاصة بك. هذه هي قاعدتك هنا. انقر على تعديل. اضبط مفتاح التبديل على الوضع "On the web server" ، وحدد في السطر الموجود أسفله اسم أو عنوان IP للخادم الذي تم تنشيط IIS عليه ، والاسم الذي تم نشر قاعدة البيانات تحته. اضغط على "التالي".
اضبط مفتاح تبديل "وضع بدء التشغيل الرئيسي" على وضع "العميل الرقيق". انقر فوق "إنهاء".
لدينا شركة كبيرة إلى حد ما ، ولكنها ليست كبيرة أيضًا ، 50-60 شخصًا. نستخدم خيار خادم العميل ، ولكن 1C بطيء للغاية.
في هذه الحالة ، يوصى بفصل خادم 1C وخادم DBMS إلى خادمين مختلفين. عند الفصل ، تأكد من التذكر: إذا ظلوا على نفس الخادم الفعلي ، والذي كان ببساطة افتراضيًا ، فيجب أن تكون أقراص هذه الخوادم مختلفة - مختلفة ماديًا! تأكد أيضًا من الضبط مهام روتينيةعلى خادم DBMS عندما يتعلق الأمر بـ MS SQL (المزيد حول هذا موضح على موقع ITS)
لدينا شركة كبيرة إلى حد ما ، أكثر من 100 مستخدم. تم إعداد كل شيء وفقًا لتوصيات 1C لهذا الخيار ، ولكن عند إجراء بعض المستندات ، "يتباطأ" 1C كثيرًا ، وفي بعض الأحيان يحدث خطأ حظر. ربما تقوم بعمل التفاف للقاعدة؟
تنشأ حالة مماثلة بسبب حجم سجل تراكم أو محاسبة محدد للغاية (ولكن في كثير من الأحيان - تراكم) ، بسبب حقيقة أن السجل إما ليس "مغلقًا" على الإطلاق ، أي توجد تحركات في الدخل ، ولكن لا توجد حركات نفقات ، أو أن عدد القياسات التي يتم من خلالها حساب أرصدة السجل كبير جدًا. قد يكون هناك مزيج من السببين السابقين. كيف تحدد السجل الذي يفسد كل شيء؟
نحن نصلح الوقت الذي تتم فيه معالجة المستندات ببطء ، أو الوقت والمستخدم الذي لديه خطأ في الحظر.
افتح سجل التسجيل.
نعثر على المستند الذي نحتاجه ، في الوقت المناسب ، للمستخدم المناسب مع نوع الحدث "Data.Conduct".
ننظر إلى كتلة المعاملة بالكامل حتى لحظة إلغاء المعاملة ، إذا كان هناك خطأ حظر ، أو نبحث عن التغيير الأطول (الوقت من السجل السابق أكثر من دقيقة).
بعد ذلك ، نتخذ قرارًا ، مع الأخذ في الاعتبار أنه من الأرخص انهيار هذا السجل المعين في أي حال من قاعدة البيانات بأكملها.
نحن شركة كبيرة جدًا ، أكثر من 1000 مستخدم ، آلاف المستندات يوميًا ، قسم تكنولوجيا المعلومات الخاص بنا ، أسطول ضخم من الخوادم ، قمنا بتحسين الطلبات عدة مرات ، لكن 1C يتباطأ. من الواضح أننا تجاوزنا 1C ، ونحتاج إلى شيء أكثر قوة.
في الغالبية العظمى من هذه الحالات ، لا "يبطئ" 1C ، ولكن بنية الحل المستخدم. عند اتخاذ قرار لصالح برنامج عمل جديد ، تذكر أنه من الأرخص والأسهل كتابة عمليات عملك في برنامج بدلاً من إعادة صياغتها للبعض ، خاصة البرامج باهظة الثمن. فقط 1C يوفر مثل هذه الفرصة. لذلك من الأفضل أن تسأل نفسك: "كيف تصلح الوضع؟ كيف تجعل 1C "تطير" على مثل هذه الأحجام؟ دعنا نلقي نظرة على بعض خيارات العلاج:
- استخدم تقنيات البرمجة المتوازية وغير المتزامنة التي يدعمها 1C (المهام والطلبات في الخلفية في حلقة).
- عند تصميم بنية الحل ، ارفض استخدام سجلات التراكم وسجلات المحاسبة في أكثر الأماكن "ضيقًا".
- عند تطوير بنية بيانات (تراكم و / أو سجلات معلومات) ، اتبع القاعدة: "أسرع جدول للكتابة والقراءة هو جدول بعمود واحد." سيصبح ما هو على المحك أكثر وضوحًا إذا نظرنا إلى آلية RAUS نموذجية.
- لمعالجة كميات كبيرة من البيانات ، استخدم مجموعات مساعدة حيث يتم توصيل نفس قاعدة البيانات (ولكن لا ينبغي بأي حال من الأحوال القيام بذلك عند العمل بشكل تفاعلي !!!). سيؤدي ذلك إلى تجاوز أقفال 1C القياسية ، مما سيجعل من الممكن العمل مع قاعدة البيانات بنفس السرعة تقريبًا كما هو الحال عند العمل مباشرة مع أدوات SQL.
تجدر الإشارة إلى أن تحسين 1C للمقتنيات والشركات الكبيرة هو موضوع لمقال كبير منفصل ، لذا ترقبوا تحديثات المواد الموجودة على موقعنا.