سؤال

في ربما التطبيع ليس طبيعيا يقول جيف أتوود ، "أنت تقوم تلقائيًا بقياس جميع الاستعلامات التي تتدفق عبر برنامجك ، أليس كذلك؟" أنا لست ولكن أود ذلك.

بعض ميزات التطبيق المعني:

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

المحلول

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

تعد نقطة الدخول الواحدة إلى قاعدة البيانات ميزة قياسية إلى حد ما لأي ORM أو طبقة قاعدة بيانات - أو على الأقل كانت موجودة في أي مشروع عملت عليه حتى الآن!

نصائح أخرى

منشئ ملفات تعريف SQL هي الأداة التي أستخدمها لمراقبة تدفق حركة المرور إلى SQL Server الخاص بي.يسمح لك بجمع بيانات مفصلة حول خادم SQL الخاص بك.تم توزيع ملف تعريف SQL مع SQL Server منذ SQL Server 2000 على الأقل (ولكن ربما قبل ذلك أيضًا).

ينصح به بشده.

ألقِ نظرة على هذا الفصل الذي كتبته أنا وجيف أتوود حول تحسينات الأداء لمواقع الويب.نحن نغطي الكثير من الأشياء، ولكن هناك الكثير من الأشياء حول تتبع قاعدة البيانات وتحسينها:تسريع موقعك:8 نصائح لأداء ASP.NET

ال إسقاط الأشياء يحتوي المشروع على CodePlex على فئة لتوقيت كتل التعليمات البرمجية.يدعى الفصل TimedLog.ينفذ IDisposable.يمكنك تغليف كتلة التعليمات البرمجية التي ترغب في تحديد وقتها في عبارة الاستخدام.

إذا كنت تستخدم Rails، فإنه يسجل تلقائيًا جميع استعلامات SQL والوقت الذي تستغرقه للتنفيذ، في ملف سجل التطوير الخاص بك.

أجد هذا مفيدًا جدًا لأنه إذا رأيت واحدًا يستغرق بعض الوقت، فما عليك سوى نسخه ولصقه مباشرة من الشاشة/ملف السجل، ووضع "شرح" أمامه في الخلية.

ليس عليك البحث في الكود الخاص بك وإعادة بناء ما يحدث.

وغني عن القول أن هذا لا يحدث في الإنتاج لأنه سيؤدي إلى نفاد مساحة القرص خلال ساعة تقريبًا.

إذا قمت بتحديد مصنع يقوم بإنشاء SqlCommands لك واستدعائه دائمًا عندما تحتاج إلى أمر جديد، فيمكنك إرجاع أمر RealProxy إلى SqlCommand.

يمكن لهذا الوكيل بعد ذلك قياس مدة تنفيذ ExecuteReader / ExecuteScalar وما إلى ذلك.خذ استخدام StopWatch وقم بتسجيله في مكان ما.تتمثل ميزة استخدام هذا النوع من الأساليب عبر Sql Server Profiler في أنه يمكنك الحصول على تتبعات مكدس كاملة لكل جزء تم تنفيذه من SQL.

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