繁体   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