Project

General

Profile

Actions

Bug #22414

closed

MaxConcurrentRailsRequests default is too small

Added by Peter Amstutz about 1 month ago. Updated 6 days ago.

Status:
Resolved
Priority:
Normal
Assigned To:
Category:
API
Target version:
Story points:
-
Release relationship:
Auto

Description

MaxConcurrentRailsRequests is currently set to 8 in the config defaults.

Because we haven't addressed the more general solution of #21287, this is small enough that loading a process page will cause timeouts, because the concurrent requests to fetch log files will fill up the request queue, preventing keep-web from being able to call back to the API server to validate the token.

The minimum concurrent requests should be doubled to at least 16.


Subtasks 1 (0 open1 closed)

Task #22450: Review 22414-max-rails-requestsResolvedTom Clegg01/16/2025Actions

Related issues 1 (1 open0 closed)

Related to Arvados - Bug #21287: Binning and throttling incoming and outgoing requestsNewActions
Actions #1

Updated by Peter Amstutz about 1 month ago

  • Related to Bug #21287: Binning and throttling incoming and outgoing requests added
Actions #2

Updated by Peter Amstutz about 1 month ago

  • Description updated (diff)
Actions #3

Updated by Peter Amstutz about 1 month ago

  • Target version set to Development 2025-01-22
Actions #4

Updated by Peter Amstutz 19 days ago

  • Category set to API
Actions #5

Updated by Peter Amstutz 14 days ago

  • Assigned To set to Tom Clegg
Actions #6

Updated by Peter Amstutz 14 days ago

  • Subtask #22450 added
Actions #8

Updated by Brett Smith 12 days ago

Peter wants this, the branch does it, lgtm I guess.

But like, I don't know, wouldn't it be cool to reconfigure tordo and do a little scale testing before we make the change in main? Even accepting that the change will address the issue at hand, it would be good to try a few other things like running a workflow and make sure there are no obvious bad consequences. I'm especially concerned about this given that we just merged #22349 which completely changes our RailsAPI deployment, and while I'm convinced it's reasonably mature we don't have a lot of real-world experience with how it scales yet.

Actions #9

Updated by Brett Smith 8 days ago

Interestingly, tordo already has this set to 16. Still, I started a new workflow tordo-xvhdp-hr5370pocazfy67 and watched the logs for it the whole time. It's not done but it's past the most parallel part of the workflow, and that ran without issue, so I'm confident enough to say this is good to merge. Thanks.

Actions #10

Updated by Brett Smith 8 days ago

You expressed interest in a snapshot of resource usage. Right now, with the workflow still running but less parallel, systemctl status arvados-railsapi reports:

      Tasks: 52 (limit: 9222)
     Memory: 802.3M
        CPU: 54min 9.848s [over 20 hours of clock time]

A selection from systemd-cgtop shows it at the top of Arvados services, but basically where I would expect it to be given it's Rails and not Go:

system.slice/arvados-railsapi.service        801.5M
system.slice/keep-balance.service            619.5M
system.slice/arvados-controller.service      436.2M
system.slice/arvados-dispatch-cloud.service  166.6M

So I don't see any immediate cause for concern with this setting.

Actions #11

Updated by Tom Clegg 6 days ago

  • Status changed from New to Resolved
Actions #12

Updated by Tom Clegg 6 days ago

  • Release set to 75
Actions

Also available in: Atom PDF