Adds jemalloc directly to ruby
authorRafael dos Santos Silva <xfalcox@gmail.com>
Thu, 17 Nov 2016 03:12:53 +0000 (01:12 -0200)
committerRafael dos Santos Silva <xfalcox@gmail.com>
Thu, 17 Nov 2016 03:12:53 +0000 (01:12 -0200)
image/base/Dockerfile
templates/web.template.yml

index 824559b3ea924ea35ab25d010d310897006f4cf0..bfdcd81200aab675459b1f4e20f92af8d244dffe 100644 (file)
@@ -55,12 +55,12 @@ RUN apt-get -y install advancecomp jhead jpegoptim libjpeg-turbo-progs optipng
 
 RUN mkdir /jemalloc && cd /jemalloc &&\
       wget https://github.com/jemalloc/jemalloc/releases/download/4.3.1/jemalloc-4.3.1.tar.bz2 &&\
-      tar -xjf jemalloc-4.3.1.tar.bz2 && cd jemalloc-4.3.1 && ./configure && make &&\
-      mv lib/libjemalloc.so.1 /usr/lib && cd / && rm -rf /jemalloc
+      tar -xjf jemalloc-4.3.1.tar.bz2 && cd jemalloc-4.3.1 && ./configure && make && make install &&\
+      cd / && rm -rf /jemalloc
 
 RUN echo 'gem: --no-document' >> /usr/local/etc/gemrc &&\
     mkdir /src && cd /src && git clone https://github.com/sstephenson/ruby-build.git &&\
-    cd /src/ruby-build && ./install.sh &&\
+    cd /src/ruby-build && RUBY_CONFIGURE_OPTS='--with-jemalloc' ./install.sh &&\
     cd / && rm -rf /src/ruby-build && ruby-build 2.3.2 /usr/local
 
 RUN gem install bundler &&\
index c4036b95a0c0d3072abb84a8c340860be1cc4376..0f630a28f077b70619990e3f59f78445bade80d5 100644 (file)
@@ -91,7 +91,7 @@ run:
         # postgres
         cd $home
         chown -R discourse:www-data /shared/log/rails
-        LD_PRELOAD=/usr/lib/libjemalloc.so.1 HOME=/home/discourse USER=discourse exec chpst -u discourse:www-data -U discourse:www-data bundle exec config/unicorn_launcher -E production -c config/unicorn.conf.rb
+        LD_PRELOAD=/usr/local/lib/libjemalloc.so.2 HOME=/home/discourse USER=discourse exec chpst -u discourse:www-data -U discourse:www-data bundle exec config/unicorn_launcher -E production -c config/unicorn.conf.rb
 
   - file:
      path: /etc/service/nginx/run