C# 调用问题时的自定义API时间长度

C# 调用问题时的自定义API时间长度,c#,asp.net-mvc,azure,C#,Asp.net Mvc,Azure,我已经为一个拼字解算器编写了一个自定义API,它将一个单词发送到所有字符排列中,并返回一个有效单词列表。 我已经在本地主机上对它进行了彻底的测试,当输入一个包含7个字母的单词(大约140000个字符排列)时,在大约2.5秒内返回一个单词和定义列表,运行良好 问题是当我在现场推它时,当我打电话时,大约需要15-20秒才能返回。因为这不是代码,我不知道问题出在哪里 它由Microsoft Azure托管 如果能得到任何帮助,我将不胜感激,我不明白为什么电话这么慢 谢谢如果您以免费/试用帐户托管此应用

我已经为一个拼字解算器编写了一个自定义API,它将一个单词发送到所有字符排列中,并返回一个有效单词列表。 我已经在本地主机上对它进行了彻底的测试,当输入一个包含7个字母的单词(大约140000个字符排列)时,在大约2.5秒内返回一个单词和定义列表,运行良好

问题是当我在现场推它时,当我打电话时,大约需要15-20秒才能返回。因为这不是代码,我不知道问题出在哪里

它由Microsoft Azure托管

如果能得到任何帮助,我将不胜感激,我不明白为什么电话这么慢


谢谢

如果您以免费/试用帐户托管此应用程序,很可能是因为您的webAPI应用程序池正在被回收


为了验证,您可以按顺序执行几个7个字母的单词。两个都需要20秒还是只需要第一个?如果只是第一个,那么你就有了答案。你可以用它来做一些“保持活力”的事情,也可以扩大到生产计划。

这取决于你使用的部署规模。您看到的差异可能是您的应用程序在Azure上进行了初始化。如果你打了多个电话,第二个会更快完成吗?不,不会,仍然需要相同的时间。你在Azure中的部署规模是多少?它是免费/共享/标准计划吗?请记住,在您的本地计算机上,您的整个CPU都归您自己使用,因此执行使用大量CPU的复杂分析将运行得更快。该计划是S1,它托管多个站点和数据库,可能是它在争夺资源,这是我从未考虑过的。我使用的是S1 Azure帐户。每次调用的时间变化不大,以毫秒为单位。我在blob存储器中的文本文件列表中以15毫秒的时间读取所有英文单词,通常用于另一种解决方案,但基本上是查看单词是否存在。我不知道你为什么会有这么糟糕的时机。您是并行处理吗?不,没有并行处理,我正在查看的XML文件不在blob上,但这肯定不会成为问题?也许我应该升级Azure看看它是否更好?