Performance: BMCWEB prioritizing URI response in multiple redfish clients environment
sharad yadav
sharad.openbmc at gmail.com
Thu Nov 17 04:48:54 AEDT 2022
Thanks for your response. Responses inline.
> Can you elaborate on which URLs your clients are accessing? Is this
> on an upstream SHA1 of bmcweb? Do said clients implement HTTP
> keep-alive? Keep-alive is important, because otherwise the bmc is
> negotiating TLS for every request, which can be quite slow, especially
> when done in parallel.
We are at the latest bmcweb upstream code.
We have 4 type of clients collecting set of URIs:
All thermals: /redfish/v1/Chassis/<str>/Thermal/
All other sensors: /redfish/v1/Chassis/<str>/Sensors/<str>/
All inventory: /redfish/v1/Chassis/<str>/ and
/redfish/v1/Systems/<str>/Processors/<str>/
Log services: /redfish/v1/Systems/<str>/LogServices/EventLog/ and
/redfish/v1/Systems/<str>/LogServices/EventLog/Entries/
/redfish/v1/Systems/<str>/LogServices/EventLog/Entries/<str>/
All clients implement keep-alive so clients avoid the TLS handshake penalty.
> I'm not sure how a priority system would work in this case. Can you
> elaborate on your idea? There is currently no queue outside of the
> TCP kernel, and async tasks in io_context. Which queue were you
> planning on assigning priorities to?
We want to prioritize our thermal sensor URI.
Is there a way to prioritize HTTP requests over D-Bus response messages
in bmcweb?
Thanks,
Sharad
On Wed, 16 Nov 2022 at 21:59, Ed Tanous <edtanous at google.com> wrote:
> On Wed, Nov 16, 2022 at 5:28 AM sharad yadav <sharad.openbmc at gmail.com>
> wrote:
> >
> > Hi All,
> >
> > We are facing a delay(till 6seconds) in bmcweb URIs responses when there
> are multiple clients(4 in our case) performing GET requests in parallel on
> different URIs.
>
> Can you elaborate on which URLs your clients are accessing? Is this
> on an upstream SHA1 of bmcweb? Do said clients implement HTTP
> keep-alive? Keep-alive is important, because otherwise the bmc is
> negotiating TLS for every request, which can be quite slow, especially
> when done in parallel.
>
> Can you put together an example script that reproduces the issue?
>
> > We have a very important telemetry URI, used for thermal monitoring. On
> standalone, telemetry URI response is within 200ms.
> > But with multiple clients, telemetry URI response reaches till 6seconds.
> >
> > Can we get help on how we can assign priority to our telemetry URI over
> other URIs in bmcweb?
>
> I'm not sure how a priority system would work in this case. Can you
> elaborate on your idea? There is currently no queue outside of the
> TCP kernel, and async tasks in io_context. Which queue were you
> planning on assigning priorities to?
>
> >
> > Thanks,
> > Sharad
> >
> >
> >
> >
> >
> >
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ozlabs.org/pipermail/openbmc/attachments/20221116/40704a83/attachment.htm>
More information about the openbmc
mailing list