مواضيع متقدمة

تتطلب هذه المواضيع المتقدمة إجراء تغييرات على ملف web.config الذي يعتبر حيويًا لتشغيل CentreStack بسلاسة، لذلك، لا يُنصح بتغيير ملف web.config دون استشارة دعم Gladinet أولاً.

تقسيم قاعدة البيانات

تحتوي قاعدة البيانات على نوعين من المعلومات.

النوع الأول من المعلومات هو بيانات التكوين التي تكون ثابتة نسبياً. على سبيل المثال، اسم المستخدم، والبريد الإلكتروني للمستخدم، والملفات والمجلدات المشتركة التي نشرها المستخدم وغيرها. هذا النوع من المعلومات صغير نسبياً. يمكن تقديره بـ 5000 بايت لكل مستخدم. لذا إذا كان لديك 2000 مستخدم، يمكن تقدير ذلك بـ 10 ميغابايت.

النوع الثاني من المعلومات أكثر تقلبًا نسبيًا. على سبيل المثال، سجل تغييرات الملفات، والأثر التدقيقي، وقائمة الملفات للفهرسة. يمكن تقدير ذلك بـ 100 تغيير في الملفات لكل مستخدم في اليوم الواحد ويمكن تقدير كل تغيير في الملف بـ 1000 بايت لتخزين قاعدة البيانات. لذا لمدة 15 يومًا (المدة الافتراضية لتاريخ سجل التغييرات)، يمكن تقدير ذلك بـ 100*1000*15 = 1.5 ميغابايت لكل مستخدم لمدة 15 يومًا. إذا كنت بحاجة إلى الامتثال لمعايير HIPPA، فقد يكون تاريخ سجل التغييرات الافتراضي أطول بكثير لذا ستكون هذه الجزء من قاعدة البيانات أكبر بكثير.

لأسباب تتعلق بالأداء والتنظيم، يُنصح بتقسيم قاعدة البيانات إلى قاعدتين منفصلتين، واحدة تحتوي على معلومات ثابتة وأخرى تحتوي على معلومات أكثر تقلبًا.

يمكن أن تكون قاعدة البيانات الثانوية (للبيانات المتقلبة أكثر) إما قاعدة بيانات MySQL أو قاعدة بيانات Micrsoft SQL.

لتقسيم قاعدة البيانات، أولاً قم بإنشاء قاعدة بيانات جديدة ستُستخدم لتخزين المعلومات المتغيرة. أنشئ مستخدمًا لقاعدة البيانات وامنح هذا المستخدم حق الوصول الكامل إلى قاعدة البيانات (ما يعادل db_owner). بعد إنشاء قاعدة البيانات والمستخدم، قم بتسجيل الدخول إلى وحدة التحكم الإدارية لـ CentreStack كمسؤول العنقود وانتقل إلى لوحة التحكم العنقودية > إعدادات العنقود > سجل التغيير. قم بتحديث إعداد "سلسلة اتصال قاعدة البيانات الخاصة بالتسجيل" باستخدام سلسلة اتصال مناسبة:

_images/image063-03192025.png

مثال على سلسلة الاتصال لقاعدة بيانات MySQL

Server=localhost;Port=3306;Database=gladinet;Uid=root;Pwd=password;

مثال على سلسلة الاتصال لقاعدة بيانات Microsoft SQL

Data Source=server_name;Initial Catalog=logging_db_name;User Id=user_id;Password=user_password;

تغيير خوارزمية المصادقة إلى الإصدار 2

إذا كان لديك تثبيت جديد لـ CentreStack بدون أي مستخدم قديم، نوصي بأن تقوم بتثبيت خوارزمية المصادقة على الإصدار 2 بشكل دائم.

يمكنك العثور على ملف web.config في المجلد الجذر لدليل التثبيت (نفس ملف web.config المشار إليه في القسم السابق) وإضافة سطر داخل قسم <appSettings file="branding.config">.

<add key="sys_access_ver" value="2" />

تغيير المُحمّل المتزامن إلى مُحمّل غير متزامن

تحت مسار C:Program Files (x86)CentreStack(أو دليل التثبيت)، ابحث في UploadDownloadProxy وحدد ملف web.config. اعثر على السطر الذي يحتوي على SyncedStorageProxiedPutUploadHandler وغيره إلى StorageProxiedPutUploadHandler.

قد لا تعمل هذه التحسينات على جميع الأنظمة، لذا، يُنصح بأن تقوم بتجربة رفع الملفات بالسحب والإفلات عبر بوابة الويب بعد إجراء التغيير. إذا لم يعمل ذلك مع IIS الخاص بك، يمكنك التراجع عن التغيير أو استشارة دعم Gladinet.

<add name="storageuploadex" path="proxiedupload.up" verb="PUT"
  type="GladinetStorage.SyncedStorageProxiedPutUploadHandler"
  resourceType="Unspecified" preCondition="integratedMode" />

دعم المنطقة

إذا كان لديك مجموعتين مستقلتين من مراكز CentreStack، على سبيل المثال، مجموعة في الولايات المتحدة وأخرى في المملكة المتحدة، يمكنك استخدام دعم المناطق لربط المجموعتين معًا. ميزة استخدام المناطق هي أن طلب تسجيل دخول المستخدم النهائي سيتم توجيهه تلقائيًا إلى المنطقة التي ينتمي إليها المستخدم.

تحسين قابلية التوسع

يعتمد CentreStack على ASP.NET و WCF. بشكل افتراضي، كلا من ASP.NET و WCF لديهما معايير تحكم في الإخماد يمكننا ضبطها وإزالتها. يرجى الرجوع إلى هذا المقال من MSDN لضبط الأداء:

http://msdn.microsoft.com/ar-sa/library/ff647813.aspx

_images/image053.jpg

(مصدر الصورة: http://msdn.microsoft.com/en-us/library/ff647813.aspx)

_images/image054.jpg

(مصدر الصورة: http://msdn.microsoft.com/en-us/library/ff647813.aspx)

الضبط #1 – الفضاء الاسمي/web.config

هناك ثلاثة معاملات تتعلق بالمكالمات المتزامنة القصوى، والجلسات المتزامنة، والحالات المتزامنة.

<serviceThrottling
    maxConcurrentCalls="100"
    maxConcurrentSessions="100"
    maxConcurrentInstances="1000" />

يتم تعيين هذا في ملف <CENTRESTACKInstallDir>namespaceweb.config

قد تكون هناك كتل خدمات سلوكية وكتل سلوك موجودة بالفعل. يمكنك ببساطة إضافة كتلة التحكم في الخدمة.

<serviceBehaviors>
    <behavior name="WcfWebService.Service1Behavior">
        <serviceThrottling
            maxConcurrentCalls="100"
            maxConcurrentSessions="100"
            maxConcurrentInstances="1000" />
    </behavior>
</serviceBehaviors>

التحسين #2 – aspnet.config

ملف aspnet.config يقع تحت c:windowsMicrosoft.NETFramework64v4.0.30319

system.web هو عنصر من <configuration> لذا يمكنك إضافته داخل كتلة <configuration>.

<system.web>
    <applicationPool
        maxConcurrentRequestsPerCPU="5000"
        requestQueueLimit="20000"/>
</system.web>

الضبط #3 – machine.config

Machine.config موجود في %windir%Microsoft.NETFramework64[الإصدار]configmachine.config

(%windir% عادةً ما يكون c:windows. [version] هو 4.0.30319 لإطار عمل .NET 4)

نموذج المعالجة

processModel تحت <system.web> و <system.web> تحت <configuration>. من المحتمل أن يكون الكتلة processModel موجودة بالفعل ولكن مع autoConfig مضبوط على true. يمكننا تغييره ليضبط على false ومع الخصائص المحددة أدناه.

<processModel
    autoConfig="false"
    maxWorkerThreads="500"
    maxIoThreads="500"
    minWorkerThreads="2"/>

إدارة الاتصال

<system.net> هو قسم أسفل <configuration>. عادةً إذا لم يكن قسم <system.net> موجودًا بالفعل، يمكن إضافة القسم إلى نهاية ملف التكوين، قبل العلامة الختامية لـ <configuration>.

<system.net>
    <connectionManagement>
        <add address="*" maxconnection="20000"/>
    </connectionManagement>
</system.net>

التعديل #4 – appConcurrentRequestLimit

appcmd.exe set config /section:serverRuntime /appConcurrentRequestLimit:50000

تحتاج إلى مزيد من المعلومات؟

تواصل مع دعم Gladinet (support@gladinet.com) للمزيد من المعلومات.