[Tools-discuss] Re: Agenda Data Loading Slowly
Robert Sparks <rjsparks@nostrum.com> Mon, 13 October 2025 19:32 UTC
Return-Path: <rjsparks@nostrum.com>
X-Original-To: tools-discuss@mail2.ietf.org
Delivered-To: tools-discuss@mail2.ietf.org
Received: from localhost (localhost [127.0.0.1]) by mail2.ietf.org (Postfix) with ESMTP id B73FB72AB233 for <tools-discuss@mail2.ietf.org>; Mon, 13 Oct 2025 12:32:54 -0700 (PDT)
X-Virus-Scanned: amavisd-new at ietf.org
X-Spam-Flag: NO
X-Spam-Score: -2.088
X-Spam-Level:
X-Spam-Status: No, score=-2.088 tagged_above=-999 required=5 tests=[BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, HTML_MESSAGE=0.001, SPF_HELO_NONE=0.001, T_SPF_PERMERROR=0.01] autolearn=ham autolearn_force=no
Authentication-Results: mail2.ietf.org (amavisd-new); dkim=pass (2048-bit key) header.d=nostrum.com
Received: from mail2.ietf.org ([166.84.6.31]) by localhost (mail2.ietf.org [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id uk4SL_N9xxzi for <tools-discuss@mail2.ietf.org>; Mon, 13 Oct 2025 12:32:53 -0700 (PDT)
Received: from magus.nostrum.com (tunnel3459-pt.tunnel.tserv2.fmt.ipv6.he.net [IPv6:2001:470:1f03:267::2]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-256) server-digest SHA256) (No client certificate requested) by mail2.ietf.org (Postfix) with ESMTPS id B49EA72AB228 for <tools-discuss@ietf.org>; Mon, 13 Oct 2025 12:32:52 -0700 (PDT)
Received: by magus.nostrum.com (Postfix) id 6418E745C8E; Mon, 13 Oct 2025 14:32:44 -0500 (CDT)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=nostrum.com; s=submissiondev2025; t=1760383964; bh=PkJmZC4+esHX85UdcSkLsKPrZHoQnVhdWoMRONNNgu4=; h=Date:Subject:From:To:Cc:References:In-Reply-To; b=MVvtjM7qNOj47AXWD7m4fJy/s3S4gvUkmuGIz+tAnsGI7RAStmlMzM7HHouZxVzEx 6YZQbEyLuZ1FzVdlwfN8TZAU52LS1l/rHCUol6GzD/O5V+jiO9+pL40rdUUGbqXWh8 njtynowWIUUWpUxDhpMAnlZeToRhtdVMZut1v/dIT8ust4G8nbbTvb+OfVx/K4fsZn zY+oE+BRvHm5NVxPtE1TeP08oTshu7Hmh6lPdYOVCkxqqCdUv+lM8w7fpFhKqCDWRU cv4bVPecXxBkhAfabkJAyNg8+IqbLSJP4kTX7ogyBIO5cUVYuBBJugge1pWXPrLsX8 iJNwjJbXWYbEQ==
Content-Type: multipart/alternative; boundary="------------tXmoVkTJF1WCzsXXVRL2cHsy"
Message-ID: <2cacf5ef-3f90-4ccf-a3dd-2819704018ce@nostrum.com>
Date: Mon, 13 Oct 2025 14:32:43 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
From: Robert Sparks <rjsparks@nostrum.com>
To: Eric Rescorla <ekr@rtfm.com>
References: <CABcZeBPhbyjj77XnfkUK5JnYe-hSmmrKi5Hb51qKENMTmrnFJg@mail.gmail.com> <CF629982-B435-4440-8E21-02A1319A7EE9@gmail.com> <CABcZeBO=t3NcEx2oo9Fu3-avo-ag4YmLNHL2NgrHTW4MFcOowA@mail.gmail.com> <b5150421-cbdd-424b-bede-8f39c2c40290@nostrum.com> <CABcZeBM8Zi+QZ43iwV7ShKyko-dBHh20qKNM7BAxvqTMgE_9ww@mail.gmail.com> <a5c2b820-cdf2-4d10-bfc2-35d844a082e8@nostrum.com> <CABcZeBO=LSorKYx1VNuLkcBXt+VOYpho7DXAqDSdzPLGRXP08Q@mail.gmail.com> <71800909-2f06-46f9-bece-a7cb813c6f22@nostrum.com>
Content-Language: en-US
Autocrypt: addr=rjsparks@nostrum.com; keydata= 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 I8lfj4rMCctcE0pudHYWrhznMBoUaEADjiOpdw==
In-Reply-To: <71800909-2f06-46f9-bece-a7cb813c6f22@nostrum.com>
Message-ID-Hash: PR7OMTKJ2TGX7QSMQR52I6TK4WCNLX6T
X-Message-ID-Hash: PR7OMTKJ2TGX7QSMQR52I6TK4WCNLX6T
X-MailFrom: rjsparks@nostrum.com
X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; emergency; loop; banned-address; member-moderation; header-match-tools-discuss.ietf.org-0; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header
CC: tools-discuss@ietf.org
X-Mailman-Version: 3.3.9rc6
Precedence: list
Subject: [Tools-discuss] Re: Agenda Data Loading Slowly
List-Id: IETF Tools Discussion <tools-discuss.ietf.org>
Archived-At: <https://mailarchive.ietf.org/arch/msg/tools-discuss/p-PG2LfVvvv3bWbHOc5jJgbUiG8>
List-Archive: <https://mailarchive.ietf.org/arch/browse/tools-discuss>
List-Help: <mailto:tools-discuss-request@ietf.org?subject=help>
List-Owner: <mailto:tools-discuss-owner@ietf.org>
List-Post: <mailto:tools-discuss@ietf.org>
List-Subscribe: <mailto:tools-discuss-join@ietf.org>
List-Unsubscribe: <mailto:tools-discuss-leave@ietf.org>
Turns out it's already much closer. I was distracted by the wrong view. The agenda page uses a different, but very similar view, at https://github.com/ietf-tools/datatracker/blob/ed6b061cfe4279328dbb7b914f5f7f76644521f9/ietf/meeting/views.py#L1745-L1746, which calls https://github.com/ietf-tools/datatracker/blob/ed6b061cfe4279328dbb7b914f5f7f76644521f9/ietf/meeting/views.py#L1678-L1742, which is also called by a celery task that forces that cache update, but only for the "current" meeting, where current is defined here: https://github.com/ietf-tools/datatracker/blob/ed6b061cfe4279328dbb7b914f5f7f76644521f9/ietf/meeting/helpers.py#L54-L56. RJS On 10/13/25 12:56 PM, Robert Sparks wrote: > > Sure, we already have such celery tasks for several of those slow views. > > Again, on a quick read, because the local cache for _this_ view is > controlled by the decorator I first pointed to, a celery task wouldn't > be able to invalidate that cache the way it should do. We'd need to > tweak the way the cache is managed to allow that to happen. > > The lift to serve from the edge (realized through putting the bits in > a bucket) is separable, but still important - most of those slow views > return large responses. > > RjS > > On 10/13/25 12:31 PM, Eric Rescorla wrote: >> >> >> On Mon, Oct 13, 2025 at 10:15 AM Robert Sparks <rjsparks@nostrum.com> >> wrote: >> >> First line at >> https://github.com/ietf-tools/datatracker/blob/ed6b061cfe4279328dbb7b914f5f7f76644521f9/ietf/meeting/views.py#L2312-L2443. >> >> It's a simple origin-side cache, time is the only invalidator. >> More complicated invalidation would bring a new set of slow >> calculations. >> >> Again, reworking this to use a celery task to push the result to >> a bucket on a similar period +/- so the browser never sees the >> time the work takes would be one incremental step we could make. >> >> It seems like an even more incremental step would just be to use >> celery to re-generate the top X slow view, thus keeping the cache >> warm. This would have similar timeliness and performance consequences >> properties but with no need to mess around with buckets. >> >> -Ekr >> >> There's not a concrete schedule for doing that. It's highly >> likely that we can do this between 124 and 125, but there are a >> lot of other things in flight. >> >> A larger refactor that would make a lot of the calculation in >> that view, such as a data structure that makes finding the >> times/rooms of all scheduled sessions on the official agenda in >> the set of all sessions scheduled in different time/rooms in >> draft agendas or those not scheduled at all, be more efficient >> manner is needed - what's grown incrementally from the original >> scheduling management tooling is over-complicated at this point. >> _That_ level of refactor is much further out. >> >> In the meantime, if you let me know what you're trying to take >> from the page, I might be able to point you to places that aren't >> doing a lot of the work that endpoint does that you might not be >> using. >> >> RjS >> >> On 10/13/25 11:50 AM, Eric Rescorla wrote: >>> On Mon, Oct 13, 2025 at 9:41 AM Robert Sparks >>> <rjsparks@nostrum.com> wrote: >>> >>> Yes, the agenda is cached, and when the cache expires it is >>> recalculated - that recalculation is very complicated (as it >>> returns, for instance, the current versions of each >>> (agenda/slides/drafts) for each group). >>> >>> Can you say more about how the caching works here? Is it just a >>> simple >>> time-based cache or something else? >>> >>> We could (and will) refactor the page to distribute the the >>> work that's currently done in that one massive json load. We >>> can also move keeping a computed version published so the >>> browser never sees the time the computation takes, but >>> that's not going to happen before IETF 124. >>> >>> Is there a timeline for this work? >>> >>> -Ekr >>> >>> RjS >>> >>> On 10/13/25 10:59 AM, Eric Rescorla wrote: >>>> >>>> >>>> On Mon, Oct 13, 2025 at 8:54 AM Bob Hinden >>>> <bob.hinden@gmail.com> wrote: >>>> >>>> Ekr, >>>> >>>> For what it’s worth, I just went to both links, only >>>> took a few seconds for me. >>>> >>>> >>>> Yes, presumably it's being cached somewhere. However, it's >>>> not at all uncommon >>>> for this to be slow, and I've seen the then-current agenda >>>> take a long time on >>>> a number of occasions, so I do think it's worth addressing. >>>> >>>> -Ekr >>>> >>>> >>>> Bob >>>> >>>> >>>>> On Oct 13, 2025, at 8:49 AM, Eric Rescorla >>>>> <ekr@rtfm.com> wrote: >>>>> >>>>> Hi folks, >>>>> >>>>> I just went to load the agenda for IETF 123 >>>>> (https://datatracker.ietf.org/meeting/123/agenda) for >>>>> <reasons>. >>>>> >>>>> It took 17s for the datatracker to send me the >>>>> underlying JSON file for the agenda >>>>> (https://datatracker.ietf.org/api/meeting/123/agenda-data) >>>>> It seems like it's faster on repeated load, so >>>>> presumably there is some caching going on, but 17s >>>>> still seems pretty excessive. >>>>> >>>>> -Ekr >>>>> >>>>> >>>>> >>>>> >>>>> <image.png> >>>>> >>>>> ----------------------------------------------- >>>>> Tools-discuss mailing list -- tools-discuss@ietf.org >>>>> To unsubscribe send an email to >>>>> tools-discuss-leave@ietf.org >>>>> https://mailarchive.ietf.org/arch/browse/tools-discuss/ >>>> >>>> >>>> ----------------------------------------------- >>>> Tools-discuss mailing list --tools-discuss@ietf.org >>>> To unsubscribe send an email totools-discuss-leave@ietf.org >>>> https://mailarchive.ietf.org/arch/browse/tools-discuss/ >>> ----------------------------------------------- >>> Tools-discuss mailing list -- tools-discuss@ietf.org >>> To unsubscribe send an email to tools-discuss-leave@ietf.org >>> https://mailarchive.ietf.org/arch/browse/tools-discuss/ >>> >> >> ----------------------------------------------- >> Tools-discuss mailing list --tools-discuss@ietf.org >> To unsubscribe send an email totools-discuss-leave@ietf.org >> https://mailarchive.ietf.org/arch/browse/tools-discuss/ > > ----------------------------------------------- > Tools-discuss mailing list --tools-discuss@ietf.org > To unsubscribe send an email totools-discuss-leave@ietf.org > https://mailarchive.ietf.org/arch/browse/tools-discuss/
- [Tools-discuss] Agenda Data Loading Slowly Eric Rescorla
- [Tools-discuss] Re: Agenda Data Loading Slowly Bob Hinden
- [Tools-discuss] Re: Agenda Data Loading Slowly Eric Rescorla
- [Tools-discuss] Re: Agenda Data Loading Slowly Robert Sparks
- [Tools-discuss] Re: Agenda Data Loading Slowly Eric Rescorla
- [Tools-discuss] Re: Agenda Data Loading Slowly Robert Sparks
- [Tools-discuss] Re: Agenda Data Loading Slowly Eric Rescorla
- [Tools-discuss] Re: Agenda Data Loading Slowly Robert Sparks
- [Tools-discuss] Re: Agenda Data Loading Slowly Robert Sparks
- [Tools-discuss] Re: Agenda Data Loading Slowly Eric Rescorla
- [Tools-discuss] Re: Agenda Data Loading Slowly Rob Sayre
- [Tools-discuss] Re: Agenda Data Loading Slowly John C Klensin
- [Tools-discuss] Re: Agenda Data Loading Slowly Rob Sayre