Queries take 120+ seconds on my large WordPress site

Best to work with your host on this type of specific issue. In general, when you have slow queries, a few things may help:

  1. Optimize the database – check and see if any tables are bloated compared to others. You may be able to turn off revisions and autosaves, or reduce the number of allowed revisions, to help some. Plugins may also be creating huge tables so determining which tables are huge and finding out why is a good place to start. There are also database optimization plugins available – be sure to back everything up fully, but they can sometimes drastically reduce the db size and give you quite a speed boost.

  2. Optimize your theme – you can either try out a few different themes or use a query analysis plugin to see where the bottlenecks in your theme are. While this doesn’t affect wp-admin directly, if you have heavy traffic and your front end is being bogged down by visitors, this will affect the performance of your whole site, back end included.

  3. Enable better caching and/or better code – if you’re frequently running uncached queries, it’s a big hit to your database. Caching can make everything run a lot faster.

You might also want to look into the REST API as it may be more performant than XML-RPC.