asp.net代码在开发时执行速度非常快,而生产速度非常慢

时间:2013-09-07 02:27:12

标签: c# asp.net

我有以下代码来构建一个大字符串。它在我的开发电脑上运行良好,大约花了2秒钟完成所有任务,但是当我把它们放在生产服务器上时,根据未知的东西需要10-20秒。时间从TimePoint1到TimePoint2计算。

BTW:abstractTable.GetWordCountInList(listID)只包含一行:return 100;

生产服务器上的所有其他功能都可以正常工作,除了这个。 Oracle DB服务器和Web Server位于同一台机器上,查询返回约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

我好几个月都遇到了这个问题,非常感谢任何建议。

1 个答案:

答案 0 :(得分:0)

为自己创建一个可能导致这种缓慢的潜在行或代码片段的列表。测量所有这些并查看您的测量结果。希望您能找到导致失速的确切位置,您将更接近解决方案。