[prev in list] [next in list] [prev in thread] [next in thread] 

List:       apache-modperl
Subject:    Fwd: Experience running mod_perl2 with mpm_event on Solaris 11
From:       Joe Schaefer <joe () sunstarsys ! com>
Date:       2022-08-20 14:37:02
Message-ID: CAFQGv+YveyVKtPc=4iBuvKLcpNRJMHx7z9CAg=kkN4LxzZFs1g () mail ! gmail ! com
[Download RAW message or body]

---------- Forwarded message ---------
From: Joe Schaefer <joe@sunstarsys.com>
Date: Fri, Aug 19, 2022 at 10:37 PM
Subject: Re: Experience running mod_perl2 with mpm_event on Solaris 11
To: pengyh <pengyh@mail.de>


Seriously it's always been a quality of implementation issue in open source
libc implementations (FreeBSD libc isn't any better than glibc for modperl
and event_mpm).

I papered over a third player in the memory management regimes in play. The
real problem for modperl isn't apr pool allocations, it's the bucket
brigades in the filter stacks.  That stuff is hitting malloc/free multiple
times every time you deliver content to the browser.  Combine that with a
lot of concurrent ithreads and things fall apart on non Solaris libc
implementations.


On Fri, Aug 19, 2022 at 10:17 PM Joe Schaefer <joe@sunstarsys.com> wrote:

> Lower case t on technology
>
> On Fri, Aug 19, 2022 at 10:17 PM Joe Schaefer <joe@sunstarsys.com> wrote:
>
>> https://sunstarsys.com/CMS/Technology
>>
>> On Fri, Aug 19, 2022 at 10:15 PM pengyh <pengyh@mail.de> wrote:
>>
>>> i am not a programming expert. but I hear that most scripts like
>>> perl/python/ruby support threads not that well. is it?
>>>
>>>
>>> Joe Schaefer wrote:
>>> > Yes, with per Interpreter Threads.  Everything else uses a Global
>>> > Interpreter Lock, which makes it single threaded on the actual op tree
>>> > walk (running your script logic, instead of system calls).
>>>
>> --
>> Joe Schaefer, Ph.D.
>> We only build what you need built.
>> <joe@sunstarsys.com>
>> 954.253.3732 <//954.253.3732>
>>
>>
>> --
> Joe Schaefer, Ph.D.
> We only build what you need built.
> <joe@sunstarsys.com>
> 954.253.3732 <//954.253.3732>
>
>
> --
Joe Schaefer, Ph.D.
We only build what you need built.
<joe@sunstarsys.com>
954.253.3732 <//954.253.3732>




-- 
Joe Schaefer, Ph.D.
We only build what you need built.
<joe@sunstarsys.com>
954.253.3732 <//954.253.3732>

[Attachment #3 (text/html)]

<div dir="ltr"><br><br><div class="gmail_quote"><div dir="ltr" \
class="gmail_attr">---------- Forwarded message ---------<br>From: <strong \
class="gmail_sendername" dir="auto">Joe Schaefer</strong> <span dir="auto">&lt;<a \
href="mailto:joe@sunstarsys.com">joe@sunstarsys.com</a>&gt;</span><br>Date: Fri, Aug \
19, 2022 at 10:37 PM<br>Subject: Re: Experience running mod_perl2 with mpm_event on \
Solaris 11<br>To: pengyh &lt;<a \
href="mailto:pengyh@mail.de">pengyh@mail.de</a>&gt;<br></div><br><br><div \
dir="auto">Seriously it's always been a quality of implementation issue in open \
source libc implementations (FreeBSD libc isn't any better than glibc for modperl and \
event_mpm).  </div><div dir="auto"><br></div><div dir="auto">I papered over a third \
player in the memory management regimes in play. The real problem for modperl isn't \
apr pool allocations, it's the bucket brigades in the filter stacks.   That stuff is \
hitting malloc/free multiple times every time you deliver content to the browser.   \
Combine that with a lot of concurrent ithreads and things fall apart on non Solaris \
libc implementations.</div><div dir="auto"><br></div><div \
dir="auto"><br></div><div><div class="gmail_quote"><div dir="ltr" \
class="gmail_attr">On Fri, Aug 19, 2022 at 10:17 PM Joe Schaefer &lt;<a \
href="mailto:joe@sunstarsys.com" target="_blank">joe@sunstarsys.com</a>&gt; \
wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div \
dir="auto">Lower case t on technology  </div><div><br><div class="gmail_quote"><div \
dir="ltr" class="gmail_attr">On Fri, Aug 19, 2022 at 10:17 PM Joe Schaefer &lt;<a \
href="mailto:joe@sunstarsys.com" target="_blank">joe@sunstarsys.com</a>&gt; \
wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)"><div \
dir="auto"><a href="https://sunstarsys.com/CMS/Technology" \
target="_blank">https://sunstarsys.com/CMS/Technology</a></div><div><br><div \
class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Aug 19, 2022 at 10:15 \
PM pengyh &lt;<a href="mailto:pengyh@mail.de" target="_blank">pengyh@mail.de</a>&gt; \
wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px \
0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">i \
am not a programming expert. but I hear that most scripts like <br> perl/python/ruby \
support threads not that well. is it?<br> <br>
<br>
Joe Schaefer wrote:<br>
&gt; Yes, with per Interpreter Threads.   Everything else uses a Global <br>
&gt; Interpreter Lock, which makes it single threaded on the actual op tree <br>
&gt; walk (running your script logic, instead of system calls).<br>
</blockquote></div></div>-- <br><div dir="ltr" data-smartmail="gmail_signature"><div \
dir="ltr">Joe Schaefer, Ph.D.<div><img width="96" height="26" \
src="https://ci3.googleusercontent.com/mail-sig/AIorK4xJ9wGYA7VWN-zW0DcpKll4IC6JxLGTMmDkmdn4h4eHliQhOGGu1nAHJcSkYVnw1jXF8E--UGA"></div><div>We \
only build what you need built.</div><div><div><div>&lt;<a \
href="mailto:joe@sunstarsys.com" \
target="_blank">joe@sunstarsys.com</a>&gt;</div><div><a href="tel://954.253.3732" \
target="_blank">954.253.3732</a></div><div><br></div><div><br></div></div></div></div></div>
 </blockquote></div></div>-- <br><div dir="ltr" data-smartmail="gmail_signature"><div \
dir="ltr">Joe Schaefer, Ph.D.<div><img width="96" height="26" \
src="https://ci3.googleusercontent.com/mail-sig/AIorK4xJ9wGYA7VWN-zW0DcpKll4IC6JxLGTMmDkmdn4h4eHliQhOGGu1nAHJcSkYVnw1jXF8E--UGA"></div><div>We \
only build what you need built.</div><div><div><div>&lt;<a \
href="mailto:joe@sunstarsys.com" \
target="_blank">joe@sunstarsys.com</a>&gt;</div><div><a href="tel://954.253.3732" \
target="_blank">954.253.3732</a></div><div><br></div><div><br></div></div></div></div></div>
 </blockquote></div></div>-- <br><div dir="ltr" data-smartmail="gmail_signature"><div \
dir="ltr">Joe Schaefer, Ph.D.<div><img width="96" height="26" \
src="https://ci3.googleusercontent.com/mail-sig/AIorK4xJ9wGYA7VWN-zW0DcpKll4IC6JxLGTMmDkmdn4h4eHliQhOGGu1nAHJcSkYVnw1jXF8E--UGA"></div><div>We \
only build what you need built.</div><div><div><div>&lt;<a \
href="mailto:joe@sunstarsys.com" \
target="_blank">joe@sunstarsys.com</a>&gt;</div><div><a href="tel://954.253.3732" \
target="_blank">954.253.3732</a></div><div><br></div><div><br></div></div></div></div></div>
 </div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature" \
data-smartmail="gmail_signature"><div dir="ltr">Joe Schaefer, Ph.D.<div><img \
width="96" height="26" \
src="https://ci3.googleusercontent.com/mail-sig/AIorK4xJ9wGYA7VWN-zW0DcpKll4IC6JxLGTMmDkmdn4h4eHliQhOGGu1nAHJcSkYVnw1jXF8E--UGA"></div><div>We \
only build what you need built.</div><div><div><div>&lt;<a \
href="mailto:joe@sunstarsys.com" \
target="_blank">joe@sunstarsys.com</a>&gt;</div><div><a href="tel://954.253.3732" \
target="_blank">954.253.3732</a></div><div><br></div><div><br></div></div></div></div></div></div>




[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic