Commit bb7d1cb
committed
Improve devbox polling: eliminate client-side sleep, enable HTTP/2
Replace the client-side busy-poll loop (async_poll_until) for
await_running with a new retry_server_poll_until that passes the
remaining time budget to the server's wait_for_status endpoint as
timeout_seconds. This eliminates a 30-second asyncio.sleep() between
each long-poll attempt that was causing devbox startup times to cluster
at 40s and 80s instead of the actual 3-5s provisioning time.
Enable HTTP/2 by default on AsyncHttpxClient so that concurrent
long-poll requests multiplex over fewer TCP connections instead of
requiring one connection per in-flight request.
For the Trajectory test, this dramatically improved the results with 494 concurrent devboxes:
Before: p50=40.5s, p90=48.1s, max=80.9s
After: p50=4.4s, p90=9.7s, max=20.6s1 parent 98a746a commit bb7d1cb
4 files changed
Lines changed: 65 additions & 7 deletions
File tree
- src/runloop_api_client
- lib
- resources/devboxes
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
12 | | - | |
| 12 | + | |
13 | 13 | | |
14 | 14 | | |
15 | 15 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1375 | 1375 | | |
1376 | 1376 | | |
1377 | 1377 | | |
| 1378 | + | |
1378 | 1379 | | |
1379 | 1380 | | |
1380 | 1381 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
58 | 58 | | |
59 | 59 | | |
60 | 60 | | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
82 | 82 | | |
83 | 83 | | |
84 | 84 | | |
85 | | - | |
| 85 | + | |
86 | 86 | | |
87 | 87 | | |
88 | 88 | | |
| |||
2042 | 2042 | | |
2043 | 2043 | | |
2044 | 2044 | | |
2045 | | - | |
| 2045 | + | |
2046 | 2046 | | |
2047 | 2047 | | |
2048 | 2048 | | |
2049 | | - | |
2050 | 2049 | | |
2051 | 2050 | | |
2052 | 2051 | | |
| |||
2056 | 2055 | | |
2057 | 2056 | | |
2058 | 2057 | | |
2059 | | - | |
| 2058 | + | |
2060 | 2059 | | |
2061 | 2060 | | |
2062 | 2061 | | |
2063 | 2062 | | |
2064 | 2063 | | |
2065 | | - | |
| 2064 | + | |
| 2065 | + | |
2066 | 2066 | | |
2067 | 2067 | | |
2068 | 2068 | | |
| |||
2077 | 2077 | | |
2078 | 2078 | | |
2079 | 2079 | | |
2080 | | - | |
| 2080 | + | |
| 2081 | + | |
| 2082 | + | |
| 2083 | + | |
| 2084 | + | |
| 2085 | + | |
| 2086 | + | |
| 2087 | + | |
| 2088 | + | |
| 2089 | + | |
| 2090 | + | |
| 2091 | + | |
| 2092 | + | |
2081 | 2093 | | |
2082 | 2094 | | |
2083 | 2095 | | |
| |||
0 commit comments