سؤال

لقد قمت للتو بتثبيت Windows 7 X64 Ultimate على جهاز كمبيوتر سطح المكتب الخاص بي. لقد قمت بتثبيت IIS ، Visual Studio 2008 ، ASP.NET المسجلة ، إلخ.

لدي موقع ASP.NET 3.5 الذي أعمل على تشغيله بطيئًا للغاية على هذا IIS الجديد. على STA و Prod Servers (خادم Windows 2003) وعلى جهاز XP/IIS القديم 5.1 كل شيء يعمل بسلاسة.

الصفحة التي عادة ما تستغرق 1-2 ثانية للتحميل تستغرق 8 ثوان !!!

لقد رأيت هذا المشنور في منتدى IIS. يقول شيئًا عن Vista/7 لا يقوم بتجميع الاتصالات (فقط لإعلامك ، يتم تشغيل الموقع محليًا ولكنه يتصل بخادم SQL Server 2005 المستضاف على خادم بعيد).

يبدو أن الأمر يستغرق بعض الوقت "للبدء في تحميل" الصفحة ... أقصد ، أنقر فوق تحديث ويبقى لعدة ثوان "في انتظار المضيف المحلي" ... ثم عندما تحصل على استجابة ، فإنه يحمل الصفحة بأكملها بشكل طبيعي .. .

ليس لدي أدنى فكرة عن كيفية إجبار Win7/IIS7.5 على اتصالات قاعدة البيانات.

تعديل: لقد قمت بإنشاء تطبيق ويب ASP.NET فارغ جديد لمعرفة ما إذا كانت المشكلات تحدث أيضًا. الجواب لا ، فهو يستجيب بسرعة كما ينبغي مع صفحة افتراضية فارغة. ربما شيء يتعلق باتصال DB. سأقوم باختبار إضافي. يجب أن تكون وسيلة لإصلاحها ...

تحرير 2: تصحيح التطبيق ، لاحظت أن التأخير يحدث بعد تنفيذ رمز .NET (page_load ، إلخ) ... لذلك يبدو أن التأخير في مكان ما عندما يخدم IIS الصفحة إلى المتصفح.

هل كانت مفيدة؟

المحلول

بالنسبة لأولئك الذين يعانون من نفس المشكلة ، إليك حلان ممكنان.

  • 1) تعطيل دعم IPv6 في Firefox (فقط لـ Firefox)

يقترح معظم المؤلفين الذين اكتشفوهم حول هذا النهج أسرع وأشهر حل. ما عليك القيام به هو فتح إعدادات التكوين في Firefox (حول: config) وتغيير شبكة dns.disableIPv6 إلى True.

  • 2) تغيير إعدادات المضيف المحلي في ملف المضيفين الخاص بك (جميع المتصفحات)

جاء هذا لي كفكرة للتحقق من أين وكيف يمكنني التدخل في إعدادات IPv6 على الجهاز الخاص بي. رأيت أحد التعليقات على المصادر المذكورة أعلاه تقول أنه يمكن للمرء التخلص من المشكلة ببساطة عن طريق استبدال المضيف المحلي باسم الجهاز في عنوان URL.

لم يستغرق الأمر وقتًا طويلاً للتحقق ويرى أن تعطيل البحث عن IPv6 LocalHost يفعل نفس الشيء مثل تعطيل IPv6 مباشرة في Firefox.

ما عليك القيام به هو في الأساس للتعليق / حذف هذا السطر المحدد في ملف المضيفين الخاص بك:

#::1             localhost

ملاحظة: :: 1 التدوين هو IPv6 مكافئ لعنوان البحث IPv4 127.0.0.1.

أعتقد أن الحل الثاني قد يكون أكثر ملاءمة للمستخدمين الذين لا يرغبون في تعطيل IPv6 بشكل عام ، وأول حل لجميع الآخرين الذين لا يزالون لا يستخدمون IPv6 في عملهم العادي.

نصائح أخرى

كنت أواجه نفس المشكلة: أداء الموقع البطيء للغاية باستخدام IIS 7.5 على Windows 7 64 بت مع ثنائي Core 2 مع ذاكرة وصول عشوائي 4 جيجابايت و 3 عمليات تجمع التطبيقات التي تعمل على تشغيل موقع واحد فقط. إليك ما فعلته لاستعادة السرعة إلى IIS ، تم حل المشكلة ...

كانت الحيلة بالنسبة لي هي تشغيل IIS باستخدام عمال 32 بت ، حسب تعليمات من Microsoft على IIS.NET ، والتي يمكنك قراءتها هنا:

http://learn.iis.net/page.aspx/201/32-bit-mode-worker-processes/

حل بسيط يتم توفيره (لا أريد إعادة كتابته هنا) ... إما يمكنك تشغيل أمر واحد من سطر من موجه أوامر Windows أو أمر واحد من Windows PowerShell. لقد قمت فقط بتشغيله من سطر الأوامر (تأكد من فتح سطر الأوامر أو PowerShell كمسؤول-انقر بزر الماوس الأيمن> تشغيل كمسؤول).

شكرا ، مارتي ماكجي

يمكنك محاولة تشغيل عمليات متعددة كتجمعات التطبيقات:

  • افتح IIs
  • انقر فوق تجمعات التطبيق
  • انقر بزر الماوس الأيمن على تجمع التطبيق لتطبيقك وانقر فوق الإعدادات المتقدمة
  • ابحث عن "عمليات العامل القصوى" وقم بتحديثها إلى 3 (أو عدد العمليات التي تريد السماح بها للتشغيل).

أعلم أن البروتوكول الاختياري كان يعمل IIS 7.5 وهذا قد لا ينطبق عليه ، لكنني أقوم بنشر هذا لأنه قد يساعد الآخرين في الركض IIS Express 8.0. واجهت نفس المشكلة ولم يعمل أي من تغييرات ملف IPv6 أو مضيفات. كان مشروعي ASP.NET MVC4 بطيئًا حقًا بعد ضرب F5 لتحديث تغييرات JS على المضيف المحلي. كان يحدث في جميع المتصفحات - Chrome و FF و IE. في النهاية ، اكتشفت أن IIS Express 8.0 بطيئة للغاية عند تقديم ملفات JS ويبدو أنها خطأ. إذا قمت بتشغيل iisexpress على سطر الأوامر وضربت F5 ، فقد رأيت كل ملف JS يستغرق 4 أو 5 ثوانٍ للتحميل.

انتهى بي الأمر بإلغاء تثبيت IIS 8.0 وتثبيت IIS Express 7.5 وتم إصلاح المشكلة على الفور. فيما يلي الخطوات التي تابعتها:

يبدو أن IIS Express 8.0 تم تثبيته باستخدام VS 2012 ، لذا إذا كان لديك تثبيت جديد أو ربما تحديث حزمة خدمة ، فقد يؤدي ذلك إلى ترقية إصدار IIS Express السابق.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top