P.S. to clarify, your application is running within that process, which is
why a memory like makes it grow

On Thu, 29 Aug 2019 at 8:50 am, Nigel B. Peck <nigelbp...@gmail.com> wrote:

>
> It stops when you change to 1 because it kills the child process after
> every single request! Try upgrading Apache to a recent version if you’re
> concerned about that, but this is not likely at all to because of Apache.
> Perhaps others with more experience have thoughts on this situation?
>
> On Thu, 29 Aug 2019 at 3:52 am, Arnav Garg <arnav.g...@india.nec.com>
> wrote:
>
>> Hi Nigel Sir,
>>
>>
>>
>> Thanks for your continuous support and prompt reply. I had one more query
>> as follows:
>>
>>
>>
>> >> I’m not suggesting it’s a memory leak in Apache, rather in the
>> application(s) that you’re running on Apache.
>>
>>
>>
>> After my investigation and your suggestion, I had tuned my apache-server
>> with MaxConnectionPerChild to a value “1” and things started to change. The
>> memory consumption did not rise in comparison with other values. Also, I
>> tried with MaxConnectionPerChild to “100”, but the results were same as
>> MaxConnectionPerChild  set to “0” i.e. high memory consumption within few
>> seconds. So I couldn’t understand why memory leak is related to our
>> application(CKAN) & not apache, as memory consumption changes with this
>> parameter(i.e. MaxConnectionPerChild).
>>
>>
>>
>> So, if you can please suggest/clarify as to, why do you think my
>> “application”- CKAN(an open data portal) is having a problem? I think
>> memory leak is from Apache side.
>>
>>
>>
>> Thanks & regards,
>>
>> Arnav
>>
>>
>>
>>
>>
>>
>>
>> *From:* Arnav Garg [mailto:arnav.g...@india.nec.com]
>> *Sent:* Wednesday, August 28, 2019 12:00 PM
>> *To:* users@httpd.apache.org
>> *Subject:* RE: [users@httpd] Apache process crashes, utilizing high
>> memory
>>
>>
>>
>> Hi Nigel,
>>
>>
>>
>> Thanks for your prompt reply, I had one more doubt:
>>
>>
>>
>> While keeping the value of MaxConnectionPerChild to 1, my memory
>> consumption do not increase as rapidly as it was earlier when it was set to
>> 0.
>>
>>
>>
>> Here are the statistics:
>>
>>
>>
>> *My initial memory was : *
>>
>> *USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND*
>>
>> ckan-ap+ 12793  0.2  0.0 304068  6096 ?        Sl   06:35   0:00
>> ckan_default      -k start
>>
>> ckan-ap+ 12794  0.2  0.0 304068  6104 ?        Sl   06:35   0:00
>> ckan_default      -k start
>>
>> ckan-ap+ 12795  0.0  0.0 304076  6104 ?        Sl   06:35   0:00
>> ckan_default      -k start
>>
>> ckan-ap+ 12796  0.0  0.0 304068  6104 ?        Sl   06:35   0:00
>> ckan_default      -k start
>>
>>
>>
>> After firing 105 requests/per sec for 5 times with a Thread delay of 360
>> milliseconds using Jmeter.
>>
>>
>>
>> *The memory after firing the requests*
>>
>>
>>
>> *Case 1: **When I used to have MaxConnectionPerChild “0”:*
>>
>>
>>
>> The output observed using *“top”* command:
>>
>>
>>
>> *USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND*
>>
>> ckan-ap+ 12793 14.4  1.5 1444920 124880 ?      Sl   06:35   0:13
>> ckan_default      -k start
>>
>> ckan-ap+ 12794 14.0  1.4 1441080 119300 ?      Sl   06:35   0:13
>> ckan_default      -k start
>>
>> ckan-ap+ 12795 14.8  1.5 1442120 120724 ?      Sl   06:35   0:14
>> ckan_default      -k start
>>
>> ckan-ap+ 12796 14.5  1.5 1442616 120904 ?      Sl   06:35   0:13
>> ckan_default      -k start
>>
>>
>>
>> *Case 2: **When MaxConnection PerChild  was set to “1”.*
>>
>>
>>
>> *USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND*
>>
>> ckan-ap+ 13448 13.6  1.3 *845368* 108904 ?      Sl   06:39   0:11
>> ckan_default      -k start
>>
>> ckan-ap+ 13449 11.6  1.3 *845376* 104560 ?       Sl   06:39   0:09
>> ckan_default      -k start
>>
>> ckan-ap+ 13450 11.7  1.2 *844608* 102696 ?       Sl   06:39   0:09
>> ckan_default      -k start
>>
>> ckan-ap+ 13451 11.8  1.2 *844344* 102392 ?       Sl   06:39   0:09
>> ckan_default      -k start
>>
>>
>>
>> The value highlighted in yellow remains almost the same or nearby when
>> the performance testing was done for 2 hours.
>>
>>
>>
>> *Case 3: **When MaxConnectionPerChild  was set to “100”.*
>>
>> Output:  same as Case 1.
>>
>>
>>
>> *Doubt:*
>>
>> if you can please let us know on the performance or any side effects if I
>> keep the value of MaxConnectionPerChild as 0 , 1 and 100?
>>
>>
>>
>> Thanks & Regards
>>
>> Arnav
>>
>>
>>
>> >> I’m suggesting 100 because it seems you have a memory leak, so looking
>> to make sure they are restarted before that takes up too much memory. The
>> cost is the overhead of spawning a new process every X number of
>> connections.
>>
>>
>>
>> >> If you set it higher then your memory leak will have more effect.
>>
>>
>>
>> Will there be any performance impact
>>
>>
>>
>>
>>
>> *From:* Nigel B. Peck [mailto:nigelbp...@gmail.com <nigelbp...@gmail.com>]
>>
>> *Sent:* Thursday, August 22, 2019 11:10 AM
>> *To:* users@httpd.apache.org
>> *Subject:* Re: [users@httpd] Apache process crashes, utilizing high
>> memory
>>
>>
>>
>> On Thu, 22 Aug 2019 at 12:02 am, Arnav Garg <arnav.g...@india.nec.com>
>> wrote:
>>
>> Hi Nigel,
>>
>>
>>
>> Thanks for your prompt reply.
>>
>> Can you please help me in clarifying some of my doubts?
>>
>> 1.       What is the significance of setting MaxConnectionsPerChild to a
>> value between 1-100 ?
>>
>> 2.       What are the possible reasons for not setting
>> MaxConnectionsPerChild to a high value, greater than 100 ?
>>
>> It specifies the number of connections that a child process will serve
>> before being closed and a new one spawned. Having it as 0 means there’s no
>> limit so they just keep running.
>>
>>
>>
>> I’m suggesting 100 because it seems you have a memory leak, so looking to
>> make sure they are restarted before that takes up too much memory. The cost
>> is the overhead of spawning a new process every X number of connections.
>>
>>
>>
>> If you set it higher then your memory leak will have more effect.
>>
>>
>>
>> Best thing is to set it and then monitor and load test the server to get
>> data to guide decisions on what works for your situation. And identify and
>> fix the memory leak :)
>>
>>
>>
>> Hope that helps.
>>
>>
>>
>> Nigel
>>
>>
>>
>> Web Technologies and Linux Admin Mentor
>>
>> https://codementor.io/nigelbpeck
>>
>>
>>
>>
>>
>>
>> ------------------------------
>>
>> The contents of this e-mail and any attachment(s) are confidential and
>> intended for the named recipient(s) only. It shall not attach any liability
>> on the originator or NECTI or its affiliates. Any views or opinions
>> presented in this email are solely those of the author and may not
>> necessarily reflect the opinions of NECTI or its affiliates. Any form of
>> reproduction, dissemination, copying, disclosure, modification,
>> distribution and / or publication of this message without the prior written
>> consent of the author of this e-mail is strictly prohibited. If you have
>> received this email in error please delete it and notify the sender
>> immediately.
>> ------------------------------
>> The contents of this e-mail and any attachment(s) are confidential and
>> intended for the named recipient(s) only. It shall not attach any liability
>> on the originator or NECTI or its affiliates. Any views or opinions
>> presented in this email are solely those of the author and may not
>> necessarily reflect the opinions of NECTI or its affiliates. Any form of
>> reproduction, dissemination, copying, disclosure, modification,
>> distribution and / or publication of this message without the prior written
>> consent of the author of this e-mail is strictly prohibited. If you have
>> received this email in error please delete it and notify the sender
>> immediately.
>>
>

Reply via email to