سؤال

ولدي تطبيق من شأنها أن يقيم ضمن شبكة business2business التي من شأنها التواصل مع AS400 لدينا في بيئة الشبكة الداخلية. تم تكوين جدار الحماية للسماح طلب البيانات من خلال لAS400 لدينا، لكننا نشهد فارقا زمنيا كبيرا في سرعة الاتصال وزمن الاستجابة. على سبيل المثال ما يستغرق أقل من نصف ثانية في بيئات التطوير المحلية الخاصة بنا وأخذ ما يزيد عن 120 ثانية في بيئة B2B لدينا.

وهذه هي وظيفة أننا استخدام للحصول على البيانات المتوفرة لدينا. نحن نستخدم كتل تطبيق مكتبة المؤسسة، لذلك الكائن ASI هو قاعدة بيانات ...

/// <summary>
/// Generic function to retrieve data table from AS400
/// </summary>
/// <param name="sql">SQL String</param>
/// <returns></returns>
private DataTable GetASIDataTable(string sql)
{
    DataTable tbl = null;

    HttpContext.Current.Trace.Warn("GetASIDataTable(" + sql + ") BEGIN");
    using (var cmd = ASI.GetSqlStringCommand(sql))
    {
        using (var ds = ASI.ExecuteDataSet(cmd))
        {
            if (ds.Tables.Count > 0) tbl = ds.Tables[0];
        }
    }
    HttpContext.Current.Trace.Warn("GetASIDataTable() END");
    return tbl;
}

واني اسعى الى طرح الافكار بعض الأفكار للنظر لماذا هذا يحدث.

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

المحلول

هل تستخدم أبدا ASP.NET أو AS400 في غضب، ولكن لقد رأيت هذا النوع من السلوك من قبل، وعادة ما أشار نوع من مشكلة في الشبكة، وعادة ما بحث DNS العكسي الذي هو انتهاء المهلة.

وبفرض أن لديك تمكين بينغ من خلال جدار الحماية الخاص بك، تأكد من أنك يمكن ping في كلا الاتجاهين.

وتشغيل أيضا متتبع من كل جهاز في محاولة لتشخيص حيث قد يكون هناك تأخير.

وعلى أمل أن يساعد.

نصائح أخرى

وآسف ولكن لا استطيع ان اقول لكم ما يجري ولكن ليس لدي سوى بضعة تعليقات ... أولا أود أن انتاج SQL، معرفة ما اذا كان لديه الكثير من الصلات و/ أو هو ضرب من الجدول (ملف) مع كمية كبيرة من السجلات. إذا كنت تريد حقا أن يحفر في النار حتى التعريف الخاص بك واختيار (I استخدام النمل التعريف) ومحاولة للعثور على التعريف عن ال 400 - نرى ما هي موارد الخادم وكذلك الاستعلام الفعلي بعد أن يذهب من خلال برنامج تشغيل ODBC

ولقد عملت مع asp.net وAS400 عدة مرات والطريقة لقد كنت أنجح في الواقع باستخدام ملقم SQL مع ملقم مرتبط إلى AS400. أنا خلقت بغية جعله أكثر بساطة للعمل مع - إخفاء الشذوذ تسمية AS400. وهي تعمل بشكل جيد في السيناريو بلدي لأن التطبيق يحتاج إلى سحب المعلومات من خادم SQL على أي حال.

وظننت أنني لن أذكر أنه في حال يساعد ... حظا سعيدا

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

وفكرة أخرى إذا كنت تستطيع حل القضية السرعة أو مشكلة التحجيم هو تخزينها في SQL خادم MS ثم كتابة السجلات من SQL Server إلى الأجهزة الخادمة iSeries من هناك.

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