Beefy Boxes and Bandwidth Generously Provided by pair Networks
Think about Loose Coupling
 
PerlMonks  

plackup failures under https

by choroba (Archbishop)
on Sep 20, 2020 at 21:16 UTC ( #11121973=perlquestion: print w/replies, xml ) Need Help??

choroba has asked for the wisdom of the Perl Monks concerning the following question:

I'm running two versions of my site at e-choroba.eu: there are two plackup processes, one runs the bare plackup, while the second one runs
plackup --enable-ssl --ssl-key-file=domain.key --ssl-cert-file=domain. +crt app.psgi &> https-log

The problem is the plackup that servers https is quite unstable. I often find the https version not responding, and when I log to the server, I discover one of the two following situations:

  1. The ssl plackup is down; the log file contains "Out of memory!" as the last line. I don't have much memory on the server, but normally, the process doesn't take more than 2% of the available memory.
  2. The ssl plackup is running, but when I do
    strace -fp <ssl-plackup-pid>
    I only see
    read(5,
    while normally, when everything works, it shows
    accept(4,
Any ideas what's wrong?

map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]

Replies are listed 'Best First'.
Re: plackup failures under https
by kikuchiyo (Friar) on Sep 21, 2020 at 00:03 UTC

    Net::SSLeay might be the culprit: at $work we've found that earlier versions leak memory, basically every SSL connection to the service increased memory consumption by a few kBs. Since we've upgraded to the latest version of the module, the memory leak disappeared.

    By the way, you should consider installing some kind of monitoring for your servers, that's how we've noticed the issue before it caused any trouble.

      Thank you. I had 1.81 installed, trying now with 1.88.

      map{substr$_->[0],$_->[1]||0,1}[\*||{},3],[[]],[ref qr-1,-,-1],[{}],[sub{}^*ARGV,3]
      which monitoring system do you suggest?

        Sorry, I haven't noticed your post.

        We used munin when the memory leak issue I've mentioned was found. It has a plugin to show the memory consumption of docker containers, which was useful to find which of our dockerised services was the culprit for the leak.

        More recently our sysadmins have moved on to Prometheus/Grafana, the justification being that munin uses a lot of resources on the hosts.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: perlquestion [id://11121973]
Approved by GrandFather
Front-paged by Corion
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others surveying the Monastery: (2)
As of 2022-10-03 18:27 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?
    My preferred way to holiday/vacation is:











    Results (15 votes). Check out past polls.

    Notices?