Azure应用服务上的Python代码运行速度比本地慢10倍

yqlxgs2m  于 2023-08-07  发布在  Python
关注(0)|答案(1)|浏览(113)

我有一个小的django应用程序,我托管在App Service上。我注意到它在App Service上的运行速度比本地完全相同的代码慢得多。我没有看到任何错误,App Services指标看起来也没有什么异常。任何建议如何解决这个问题?
下面是一个运行速度慢10倍的示例函数(所有本地测试不到1秒,App Service上最多10-20秒)。

def check_regex(voice_input, phrase, errors_allowed=4):
    print("START REGEX")
    search_str = "(%s){e<%i}" % (phrase, errors_allowed)
    regex_result = regex.search(
        search_str,
        voice_input,
        flags=regex.IGNORECASE)
    if regex_result is not None:
        print(f"REGEX CHECK: {voice_input} and {phrase}")
        print(regex_result)
        return True
    else:
        print("NO MATCH")
        return False

字符串

izj3ouym

izj3ouym1#

你可以在函数块外添加编译正则表达式方法,这将预编译该方法,删除print语句,这将减少I/O的开销并优化代码,如下所示:

# Pre-compile the regex pattern outside the function
compiled_pattern = regex.compile("({}){{e<{}}}".format(phrase, errors_allowed), flags=regex.IGNORECASE)

def check_regex(voice_input, phrase, errors_allowed=4):
    # Commented out print statements for improved performance
    # print("START REGEX")
    regex_result = compiled_pattern.search(voice_input)
    if regex_result is not None:
        # print(f"REGEX CHECK: {voice_input} and {phrase}")
        # print(regex_result)
        return True
    else:
        # print("NO MATCH")
        return False

字符串
为了深入了解您的应用程序服务运行缓慢,尝试Monitor和检查您的Web应用程序的日志,并为您的Web应用程序启用Application Insights,并获得如下所示的性能图:-
x1c 0d1x的数据
启用应用程序服务日志,如下所示:-



访问开发工具>高级工具> Go >在kudu控制台中选择当前Docker日志(下载为zip)并检查日志,您也可以通过此Rest API调用下面的日志



一种方法是选择“诊断和解决问题”,然后选择“可用性和性能”选项卡以获取日志和洞察:



x1c4d 1x的
向下滚动并选择查看解决方案以解决Web应用程序速度慢的问题:-



检查应用程序日志和I/O:-


相关问题