IIS服务器在递归函数中停滞几秒钟

t2a7ltrp  于 2023-02-23  发布在  其他
关注(0)|答案(1)|浏览(122)

我正在调用一个使用ajax递归函数的Flask API。大部分时间它工作正常。但是大约一分钟后它就卡住了。

以上所有的api只花了60 - 70毫秒。但是最后一个api花了10.24秒来完成

正因为如此,我的整个相机应用程序看起来口吃.
一开始我以为它是因为代码而卡住的。但是我已经用代码内部的时间差进行了测试,所有API的时间差都保持在60 - 70毫秒。

因此,在击中我的API代码之前,它有时会卡住。我相信这是因为IIS服务器没有及时击中我的 flask API。
这是我的IIS服务器配置
第一节第三节第一节第一节第四节第一节
配置文件-* C:\Windows\System32\inetsrv\config\应用程序主机配置 *

</fastCgi>
...

<application fullPath="D:\aiml_python_code\yolov7-main\venv37\Scripts\python.exe" arguments="D:\aiml_python_code\yolov7-main\venv37\Lib\site-packages\wfastcgi.py" monitorChangesTo="" stderrMode="ReturnStdErrIn500" maxInstances="400" idleTimeout="2592000" activityTimeout="3000" requestTimeout="900000" instanceMaxRequests="200000" signalBeforeTerminateSeconds="0" protocol="NamedPipe" queueLength="100000" flushNamedPipe="false" rapidFailsPerMinute="1000" />
 </fastCgi>

编辑-
下面是我的JavaScript递归函数

function api_Call() {

    cameraSensor.width = cameraView.videoWidth;
    cameraSensor.height = cameraView.videoHeight;
    cameraSensor.getContext("2d").drawImage(cameraView, 0, 0);

    let c = document.getElementById("cam_frame");
    c.width = cameraView.videoWidth;
    c.height = cameraView.videoHeight;

    $.ajax({
        type: "POST",
        headers: { 'Content-Type': 'application/json' },
        dataType: "json",
        <!-- timeout: 1000, -->
        data: JSON.stringify({'image':cameraSensor.toDataURL("image/webp")}),
        url: "/flaskapi3/imagepred",
        success: function (response) {
            data = response['data'];
            c.src = "data:image/png;base64, "+data;
            api_Call();
      },
        error: function (err) {
            setTimeout(function () {
                api_Call();
            }, 1000);
        }
    });

    };
ddarikpa

ddarikpa1#

在IIS FastAPI应用程序中找到配置。MaxRequests默认设置为200。我们必须将其更改为最大值
1.转到FastAPI应用程序

1.选择您的应用程序并将Instance MaxRequests从200更改为最大值。

相关问题