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