Slightly reduce RAM usage (#7301)
* No need to re-require sidekiq plugins, they are required via Gemfile * Add derailed_benchmarks tool, no need to require TTY gems in Gemfile * Replace ruby-oembed with FetchOEmbedService Reduce startup by 45382 allocated objects * Remove preloaded JSON-LD in favour of caching HTTP responses Reduce boot RAM by about 6 MiB * Fix tests * Fix test suite by stubbing out JSON-LD contexts
Showing
- Gemfile 7 additions, 5 deletionsGemfile
- Gemfile.lock 15 additions, 7 deletionsGemfile.lock
- app/controllers/api/web/embeds_controller.rb 7 additions, 4 deletionsapp/controllers/api/web/embeds_controller.rb
- app/controllers/settings/follower_domains_controller.rb 0 additions, 2 deletionsapp/controllers/settings/follower_domains_controller.rb
- app/helpers/jsonld_helper.rb 16 additions, 1 deletionapp/helpers/jsonld_helper.rb
- app/lib/provider_discovery.rb 0 additions, 47 deletionsapp/lib/provider_discovery.rb
- app/services/fan_out_on_write_service.rb 0 additions, 2 deletionsapp/services/fan_out_on_write_service.rb
- app/services/fetch_link_card_service.rb 18 additions, 20 deletionsapp/services/fetch_link_card_service.rb
- app/services/fetch_oembed_service.rb 71 additions, 0 deletionsapp/services/fetch_oembed_service.rb
- app/workers/scheduler/backup_cleanup_scheduler.rb 0 additions, 1 deletionapp/workers/scheduler/backup_cleanup_scheduler.rb
- app/workers/scheduler/doorkeeper_cleanup_scheduler.rb 0 additions, 1 deletionapp/workers/scheduler/doorkeeper_cleanup_scheduler.rb
- app/workers/scheduler/email_scheduler.rb 0 additions, 1 deletionapp/workers/scheduler/email_scheduler.rb
- app/workers/scheduler/feed_cleanup_scheduler.rb 0 additions, 1 deletionapp/workers/scheduler/feed_cleanup_scheduler.rb
- app/workers/scheduler/ip_cleanup_scheduler.rb 0 additions, 1 deletionapp/workers/scheduler/ip_cleanup_scheduler.rb
- app/workers/scheduler/media_cleanup_scheduler.rb 0 additions, 1 deletionapp/workers/scheduler/media_cleanup_scheduler.rb
- app/workers/scheduler/subscriptions_cleanup_scheduler.rb 0 additions, 2 deletionsapp/workers/scheduler/subscriptions_cleanup_scheduler.rb
- app/workers/scheduler/subscriptions_scheduler.rb 0 additions, 3 deletionsapp/workers/scheduler/subscriptions_scheduler.rb
- app/workers/scheduler/user_cleanup_scheduler.rb 0 additions, 1 deletionapp/workers/scheduler/user_cleanup_scheduler.rb
- app/workers/soft_block_domain_followers_worker.rb 0 additions, 2 deletionsapp/workers/soft_block_domain_followers_worker.rb
- config/initializers/json_ld.rb 0 additions, 5 deletionsconfig/initializers/json_ld.rb
... | ... | @@ -54,7 +54,7 @@ gem 'httplog', '~> 1.0' |
gem 'idn-ruby', require: 'idn' | ||
gem 'kaminari', '~> 1.1' | ||
gem 'link_header', '~> 0.0' | ||
gem 'mime-types', '~> 3.1' | ||
gem 'mime-types', '~> 3.1', require: 'mime/types/columnar' | ||
gem 'nokogiri', '~> 1.8' | ||
gem 'nsa', '~> 0.2' | ||
gem 'oj', '~> 3.5' | ||
... | ... | @@ -70,7 +70,6 @@ gem 'rails-settings-cached', '~> 0.6' |
gem 'redis', '~> 4.0', require: ['redis', 'redis/connection/hiredis'] | ||
gem 'mario-redis-lock', '~> 1.2', require: 'redis_lock' | ||
gem 'rqrcode', '~> 0.10' | ||
gem 'ruby-oembed', '~> 0.12', require: 'oembed' | ||
gem 'ruby-progressbar', '~> 1.4' | ||
gem 'sanitize', '~> 4.6' | ||
gem 'sidekiq', '~> 5.1' | ||
... | ... | @@ -82,14 +81,14 @@ gem 'simple_form', '~> 4.0' |
gem 'sprockets-rails', '~> 3.2', require: 'sprockets/railtie' | ||
gem 'stoplight', '~> 2.1.3' | ||
gem 'strong_migrations', '~> 0.2' | ||
gem 'tty-command', '~> 0.8' | ||
gem 'tty-prompt', '~> 0.16' | ||
gem 'tty-command', '~> 0.8', require: false | ||
gem 'tty-prompt', '~> 0.16', require: false | ||
gem 'twitter-text', '~> 1.14' | ||
gem 'tzinfo-data', '~> 1.2018' | ||
gem 'webpacker', '~> 3.4' | ||
gem 'webpush' | ||
gem 'json-ld-preloaded', '~> 2.2' | ||
gem 'json-ld', '~> 2.2' | ||
gem 'rdf-normalize', '~> 0.3' | ||
group :development, :test do | ||
... | ... | @@ -135,6 +134,9 @@ group :development do |
gem 'capistrano-rails', '~> 1.3' | ||
gem 'capistrano-rbenv', '~> 2.1' | ||
gem 'capistrano-yarn', '~> 2.0' | ||
gem 'derailed_benchmarks' | ||
gem 'stackprof' | ||
end | ||
group :production do | ||
... | ... |
app/lib/provider_discovery.rb
deleted
100644 → 0
app/services/fetch_oembed_service.rb
0 → 100644
config/initializers/json_ld.rb
deleted
100644 → 0
Please register or sign in to comment