locked
Memory issue for reverse proxy for MJPEG stream RRS feed

  • Question

  • User-668305474 posted

    As topic.

    I have set up my IIS (v 10.0.14393.0) with rules for a specific path to distribute a MJPEG stream I have locally on port 8081.

    In a web page I have included a link to the specified path, <img src="/videoproxy/streamproxy/mjpegvideo.jpg'"></img>

    It all works, but after loaded for a while the w3wp.exe process dies. (When looking in task manager I can see the memory used grows...)

    I think this is because IIS caches all the images, but I am not sure.

    I have asked this question before on the forums and only was adviced to do log of the problem. However reading and understanding the log did not do anything for me.

    Kind regards, Emanuel

    Monday, March 29, 2021 10:36 AM

All replies

  • User1065476709 posted

    Hi EmanueIH,

    It all works, but after loaded for a while the w3wp.exe process dies. (When looking in task manager I can see the memory used grows...)

    I think this is because IIS caches all the images, but I am not sure.

    I have asked this question before on the forums and only was adviced to do log of the problem. However reading and understanding the log did not do anything for me.

    According to your description, it is impossible to reproduce your problem.

    Without error messages and logs, it is impossible to find out where the problem is.

    Best regards,

    Sam

    Tuesday, March 30, 2021 2:47 AM
  • User-668305474 posted

    Hi Sam!

    I can give you information of setup so you can see for your self. (In this case with an external mjpeg stream of a camera outside here in Uppsala.)

    I hope this is a configuration issue. I think that mjpeg get cached...

    Have a log from earlier somewhere, will try find that to post to you.

    Web structure:

    webroot/

    webroot/testfolder/videos/

    webroot/testfolder/index.html

    webroot/testfolder/web.config

    web.config:

    <?xml version="1.0" encoding="UTF-8"?>  <configuration>      <system.webServer>          <rewrite>             <rules>                  <rule name="Reverse Proxy To videostream" enabled="true" stopProcessing="true">                     <match url="^videos/(.*)" />                     <action type="Rewrite" url="http://2.248.130.108:81/mjpg/video.mjpg" />                 </rule>             </rules>              <outboundRules>                 <rule name="Reverse Proxy Outboundrule to videostream" preCondition="ResponseIsHtml1" enabled="true">                     <match filterByTags="A, Area, Base, Form, Frame, Head, Img, Link" pattern="^http://2.248.130.108:81/mjpg/video.mjpg" />                     <action type="Rewrite" value="/testfolder/videos/test.jpg" />                 </rule>                 <preConditions>                     <preCondition name="ResponseIsHtml1">                          <add input="{RESPONSE_CONTENT_TYPE}" pattern="^(.*)" />                      </preCondition>                  </preConditions>             </outboundRules>         </rewrite>     </system.webServer>  </configuration>

    index.html:

    <img src="/testfolder/videos/test.jpg"></img>

    Kind regards, Emanuel

    Wednesday, March 31, 2021 9:36 AM
  • User-668305474 posted

    Sam.

    I have found the debug-log I made late last year of this issue.

    What part of debugdiag analysis report is interesting for you?

    I have 2 warnings

    Warning 

    Description

    Recommendation

    \iiscore.dll is responsible for 1,71 GBytes worth of outstanding allocations. The following are the top 2 memory consuming functions:

    iiscore!CONTEXT_ALLOC_BASE::AllocateBuffer+36: 1,71 GBytes worth of outstanding allocations.
    iiscore!W3_CONTEXT::AllocateRequestMemory+b4: 1,18 MBytes worth of outstanding allocations.

    If this is unexpected, please contact the vendor of this module, Microsoft Corporation, for further assistance with this issue.

    WARNING - DebugDiag was not able to locate debug symbols for \requestRouter.dll, so the reported function name(s) may not be accurate.

    \requestRouter.dll is responsible for 256 KBytes worth of outstanding allocations. The following are the top 2 memory consuming functions:

    requestRouter+14dbf: 256 KBytes worth of outstanding allocations.

    If this is unexpected, please contact the vendor of this module, Microsoft Corporation, for further assistance with this issue.

    Kind regards, Emanuel

    Thursday, April 1, 2021 7:46 AM
  • User1065476709 posted

    Hi EmanueIH,

    I suggest you open a support ticket with Microsoft via https://support.microsoft.com/ and this can assist you with determining the cause of your issue.

    Best regards,

    Sam

    Thursday, April 1, 2021 9:40 AM