asp.net 代码在开发时执行得非常快,而在生产时执行得非常慢
本文关键字:执行 非常 代码 asp net 开发 | 更新日期: 2023-09-27 18:30:26
我有以下代码来构建一个大字符串。 它在我的开发 PC 上运行良好,大约需要 2 秒才能完成所有任务,但是当我将它们放在生产服务器上时,需要 10-20 秒,具体取决于未知情况。时间是从 TimePoint1 到 TimePoint2 计算的。
顺便说一句:abstractTable.GetWordCountInList(listID) 只包含一行:返回 100;
生产服务器上的所有其他功能都可以正常工作,除了这个功能。Oracle 数据库服务器和 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
我遭受了几个月的问题,非常感谢任何建议。
为自己创建一个可能导致这种缓慢的潜在行或代码片段的列表。测量所有这些并查看测量结果。希望您能找到导致停滞的确切位置,并且您将更接近解决方案。