Project

General

Profile

Actions

Bug #20972

open

OpenSSL Memory Usage

Added by mrkgrandjean (Mark Grandjean) 2 days ago. Updated about 16 hours ago.

Status:
Open
Assignee:
-
Target version:
-
[ruby-core:120336]

Description

While testing large file uploads I noticed the OpenSSL Buffering is allocating a lot of memory for file uploads.
Similar to the issue in this ticket from a few years ago https://bugs.ruby-lang.org/issues/14426

Using the same test code from that ticket

require "http"
require "memory_profiler"
require "stringio"

body = StringIO.new("a" * 5*1024*1024)

MemoryProfiler.report do
  HTTP.post("https://example.com", body: body)
end.pretty_print

in ruby 2.6.10

allocated memory by gem
-----------------------------------
   1913287  unicode_normalize
   1053463  llhttp-ffi-0.5.0
    187849  http-5.2.0
     50168  openssl
     36180  addressable-2.8.7
      8904  ipaddr
       272  other

While testing in Ruby 3.3.6

allocated memory by gem
-----------------------------------
  16104976  openssl
   2393456  unicode_normalize
   1053880  llhttp-ffi-0.5.0
    151633  http-5.2.0
      9813  addressable-2.8.7
      7872  ipaddr
       240  other
        40  forwardable

It looks like the memory allocation issue has returned.


Related issues 1 (0 open1 closed)

Related to Ruby master - Feature #14426: [PATCH] openssl: reduce memory allocation in OpenSSL::Buffering#do_writeClosedrhenium (Kazuki Yamaguchi)Actions
Actions

Also available in: Atom PDF

Like1
Like0Like0Like0