[Tools-discuss] Re: Agenda Data Loading Slowly

Robert Sparks <rjsparks@nostrum.com> Mon, 13 October 2025 17:56 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 0B57A729A8B4 for <tools-discuss@mail2.ietf.org>; Mon, 13 Oct 2025 10:56:34 -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 YVr4PnMKT_ak for <tools-discuss@mail2.ietf.org>; Mon, 13 Oct 2025 10:56:32 -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 27A8B729A8AD for <tools-discuss@ietf.org>; Mon, 13 Oct 2025 10:56:32 -0700 (PDT)
Received: by magus.nostrum.com (Postfix) id F1C10745C8E; Mon, 13 Oct 2025 12:56:29 -0500 (CDT)
DKIM-Signature: v=1; a=rsa-sha256; c=simple/simple; d=nostrum.com; s=submissiondev2025; t=1760378190; bh=BHjH5w8cM1Brm4PRxyZ5e1g7JOPOl1OyRY+RA2yGEgU=; h=Date:Subject:To:Cc:References:From:In-Reply-To; b=PallqFRKL/ZyzXKwiwfFiRd5Gbey/rHx9rh2rlxDpg3WIRkSTZmdVCgMP5zwPMjnz /pHHMqZA2GiVHAtkmvkJnVNarJYdpLlb+Vu8eDc8MOWGgZNwaot1xUKwDXIUSaWyzh JQH+h2iCHW+rNJwYhq3NLZZLioXmlOnps13MuV/xoy3Ce6Jres24PJ7Y5fzv6inu9c 9AZu+QtMjMvCqr4gxL5NVgNh4w2Qhj4n0zjhQ2MDa685iWyqwkWXauZCSyC2b7kGKy RMhh4zWV2/gBebzoEpTyf19CC8gkXPHwNbkP6I466mJ4BIJQkjTV+bJzU5GAgEVT8Y Qcf62oBda5mKQ==
Content-Type: multipart/alternative; boundary="------------XYQnF38OqU0FY3pw03GxhLSg"
Message-ID: <71800909-2f06-46f9-bece-a7cb813c6f22@nostrum.com>
Date: Mon, 13 Oct 2025 12:56:29 -0500
MIME-Version: 1.0
User-Agent: Mozilla Thunderbird
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>
Content-Language: en-US
From: Robert Sparks <rjsparks@nostrum.com>
Autocrypt: addr=rjsparks@nostrum.com; keydata= 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 I8lfj4rMCctcE0pudHYWrhznMBoUaEADjiOpdw==
In-Reply-To: <CABcZeBO=LSorKYx1VNuLkcBXt+VOYpho7DXAqDSdzPLGRXP08Q@mail.gmail.com>
Message-ID-Hash: ZYV7IJLCK7T35VNE3UF3OCZRGRCGUF5C
X-Message-ID-Hash: ZYV7IJLCK7T35VNE3UF3OCZRGRCGUF5C
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/YpRcrIKhBDYSlPTvW8JPh9ft6mU>
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>

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/