Sam*_*ang 9 performance heroku unicorn ruby-on-rails-4
我在我的开发服务器上使用免费dyno上的2个Unicorn进程托管我的Rails 4.1.4项目.应用程序运行一段时间后,有时我觉得变慢.我添加了New relic,logentries,并启用了log-runtime-metrics.然后我看看新的遗物和logentries

» heroku web.1 - - source=web.1 dyno=heroku.21274089.82eb32b4-c547-4041-b452-d3fedae05ee9 sample#load_avg_1m=0.00 sample#load_avg_5m=0.00 sample#load_avg_15m=0.01
» heroku web.1 - - source=web.1 dyno=heroku.21274089.82eb32b4-c547-4041-b452-d3fedae05ee9 sample#memory_total=393.41MB sample#memory_rss=368.38MB sample#memory_cache=4.47MB sample#memory_swap=20.56MB sample#memory_pgpgin=121244pages sample#memory_pgpgout=25796pages
Run Code Online (Sandbox Code Playgroud)
我不明白的是我的dyno只有内存sample#memory_rss=368.38MB,但为什么它已经使用了交换内存sample#memory_swap=20.56MB?因为我从heroku文章https://devcenter.heroku.com/articles/dynos#memory-behavior的想法,它应该切换到交换内存,如果它达到dyno的内存,这是512 Mb免费dyno.
小智 14
即使在我的应用程序中仅使用50%的可用RAM,我也看到了显着的交换,所以我问道.以下是他们的支持团队的一句话:
在运行时,Ubuntu的默认值为60,包括PX dynos.
值60可确保您的应用在达到最大内存之前开始交换.Linux内核参数的vm.swappiness范围是0到100,其中0表示没有交换,100表示始终交换.
因此,当在Heroku上运行时,即使应用程序的占用空间远小于您的dyno的广告RAM,您也应该期望应用程序进行交换.
| 归档时间: |
|
| 查看次数: |
1921 次 |
| 最近记录: |