<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>Hi Paul,</p>
    <p>So you have a complex historical "mess" and its not clear where
      the performance issue is. So you need to divide the problem into
      small problems that you can verify are or are not contributing. I
      would start with something like this:</p>
    <p>Take one slow image request and try that as cgi or cli and not
      fcgi and turn on debugging.</p>
    <p>  - copy and rename you mapfile so it doesn't mess with the
      production requests</p>
    <p>  - turn on the debugging and send it to stderr in the debug
      mapfile<br>
    </p>
    <p> - you can manually run that image request from the commandline
      like:</p>
    <p>if mapserv is not in your path you might need to find it and your
      the path to it below<br>
    </p>
    <p>mapserv -nh QUERY_STRING="everything after the ? in the original
      query" >junk.png 2>error.txt</p>
    <p>-nh suppresses headers from being output before the image data</p>
    <p>error.txt will be stderr output and should contain the debug
      messages</p>
    <p>Then report back what you find out.</p>
    <p>-Steve W<br>
    </p>
    <div class="moz-cite-prefix">On 7/22/2020 1:47 PM, English Paul
      wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:07D75779-1922-4E41-A587-3896A841378B@vaisala.com">
      <meta name="Generator" content="Microsoft Word 15 (filtered
        medium)">
      <div class="WordSection1">
        <p class="MsoNormal"><span>Hi,</span></p>
        <p class="MsoNormal"><span>   Newbie here, just got a work
            assignment to look into some performance issues with
            mapserver-6.0.1-3_0.el6.x86_64 – specifically, at one time,
            it rendered radar images very fast, then it degraded and
            seemed to consume a lot more CPU. So – the EC2 instance side
            was upgraded significantly – and it still performs badly and
            uses a lot of CPU. It also seems to be getting slowly worse
            over time (days/months, not seconds/minutes). I asked this
            on IRC, but it looks like email might be a better route.</span></p>
        <p class="MsoNormal"><span> </span></p>
        <p class="MsoNormal"><span>  During all of this, the same
            mapserver instance renders satellite images quickly. These
            seem to be a similar, or in some cases larger size png to
            start with, rendered onto the same final map/size.</span></p>
        <p class="MsoNormal"><span> </span></p>
        <p class="MsoNormal"><span>  So – the obvious answer is that it
            isn’t using the CPU to render/re-render, but rather spending
            it on something else – I/O most likely – eg: a network
            request, disk I/O, SQL query?</span></p>
        <p class="MsoNormal"><span> </span></p>
        <p class="MsoNormal"><span>  The previous person working on it
            tried turning on debug at various levels – but unfortunately
            that made it even slower, making it tricky to answer “what
            is making it slow when debug is turned off?”</span></p>
        <p class="MsoNormal"><span> </span></p>
        <p class="MsoNormal"><span> My first instinct was to try an
            strace and nothing was obvious. Next up – a flame graph from
            strace, and/or trying dtrace – but my understanding is that
            dtrace is a little weak on RHEL/CentOS/Amazon Linux 6.0 *<b>and</b>*
            I’m not particularly good at that. Also, we’re using fcgi,
            so attaching to the correct process is a bit tricky.</span></p>
        <p class="MsoNormal"><span> </span></p>
        <p class="MsoNormal"><span>  My next instinct was to look at
            release notes and see if the current stable has anything
            fixes/improvements that directly address this – there aren’t
            any that are obvious to my eyes, but you developers have
            been busy! So many things! Including some performance fixes
            and one “significant” performance fix.</span></p>
        <p class="MsoNormal"><span> </span></p>
        <p class="MsoNormal"><span>Current config file:</span></p>
        <p class="MsoNormal"><span> </span></p>
        <p class="MsoNormal"><span>AddHandler fcgid-script fcgi</span></p>
        <p class="MsoNormal"><span> </span></p>
        <p class="MsoNormal"><span>FcgidIPCDir /var/run/mod_fcgid</span></p>
        <p class="MsoNormal"><span>FcgidProcessTableFile
            /var/run/mod_fcgid/fcgid_shm</span></p>
        <p class="MsoNormal"><span>FcgidMaxProcesses 10</span></p>
        <p class="MsoNormal"><span>FcgidMaxProcessesPerClass 10</span></p>
        <p class="MsoNormal"><span>FcgidMaxRequestInMem 196608</span></p>
        <p class="MsoNormal"><span>FcgidInitialEnv PROJ_LIB
            /usr/share/proj</span></p>
        <p class="MsoNormal"><span>FcgidInitialEnv LD_LIBRARY_PATH
            "/usr/local/lib:/usr/pgsql-9.1/lib"</span></p>
        <p class="MsoNormal"><span> </span></p>
        <p class="MsoNormal"><span>So – suggestions for my next move? I
            currently plan to take a quick swing at building 7.6 for
            RHEL 6.0, knowing there might be old libraries and whatnot
            that make that a non-starter. Of course – we’ve got other
            infra running on this same instance, so upgrading everything
            is a much bigger task.</span></p>
        <p class="MsoNormal"><span> </span></p>
        <p class="MsoNormal"><span> Strace flame graph? </span></p>
        <p class="MsoNormal"><span> </span></p>
        <p class="MsoNormal"><span>  Stretch and try dtrace?</span></p>
        <p class="MsoNormal"><span> </span></p>
        <p class="MsoNormal"><span>  A better way to use debug?</span></p>
        <p class="MsoNormal"><span> </span></p>
        <p class="MsoNormal"><span>  Something else I’m missing – eg:
            differences between the image types that make them perform
            so differently?
          </span></p>
        <p class="MsoNormal"><span> </span></p>
        <p class="MsoNormal"><span>Thanks,</span></p>
        <p class="MsoNormal"><span>Paul</span></p>
      </div>
      <br>
      <fieldset class="mimeAttachmentHeader"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
mapserver-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:mapserver-users@lists.osgeo.org">mapserver-users@lists.osgeo.org</a>
<a class="moz-txt-link-freetext" href="https://lists.osgeo.org/mailman/listinfo/mapserver-users">https://lists.osgeo.org/mailman/listinfo/mapserver-users</a></pre>
    </blockquote>
  </body>
</html>