簡體   English   中英

asp.net代碼在開發中執行非常快,而在生產中執行得非常慢

[英]asp.net code executes very fast on development while very slow on production

我有以下代碼來構建一個大字符串。 它在我的開發PC上運行良好,大約需要2秒鍾才能完成所有任務,但是當我將它們放在生產服務器上時,則需要10到20秒鍾,具體取決於未知的事物。 時間是從TimePoint1到TimePoint2計算的。

順便說一句:abstractTable.GetWordCountInList(listID)僅包含一行:return 100;

生產服務器上的所有其他功能都可以正常工作,但這一功能除外。 Oracle DB服務器和Web服務器位於同一台計算機上,該查詢返回大約5000條記錄。 產品服務器的數據與開發服務器的數據相同。

public const string WordXMLItemTemplate = @"<S I=""{0}"" W=""{1}"" L=""{2}"" F=""0"" P=""0"" />";   

int totalCounter =0;
int wordCounter = 0;
int listID = 1;
OracleConnection wordLibConn = ConnectionManager.GetNewConnection();
wordLibConn.Open();
try
{
    OracleCommand comm = new OracleCommand();
    comm.Connection = wordLibConn;
    comm.CommandText = "Select WordID from WordTable Order By Lower(Word) ASC";
    OracleDataReader dataReader = comm.ExecuteReader();
    try
    {
        // TimePoint 1
        while (dataReader.Read())
        {
            totalCounter++;
            wordCounter++;
            wordXML = wordXML + string.Format(WordXMLItemTemplate, totalCounter, dataReader[0].ToString(), listID);
            if (wordCounter % abstractTable.GetWordCountInList(listID) == 0)
            {
                wordCounter = 0;
                listID++;
            }
        }
    }
    finally
    {
        dataReader.Close();
    }
}
finally
{
    wordLibConn.Close();
}
// TimePoint 2

我經歷了幾個月的苦難,非常感謝您的任何建議。

為您自己創建可能導致此速度變慢的潛在行或代碼片段的列表。 測量所有這些,並查看測量結果。 希望您能找到造成停頓的確切位置,並且您將更接近解決方案。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM