### Description

The health API response can become a few MBs (2-3MB if 50K indices are affected).

In less extreme situations the response can be in the 10s/100s of KB. 

It might be worthwhile looking into chunking its response (this might provide clients with a better experience too)
server/src/main/java/org/elasticsearch/health/GetHealthAction.java
public TransportAction(
            ActionFilters actionFilters,
            TransportService transportService,
            ClusterService clusterService,
            HealthService healthService,
            NodeClient client
        ) {
            super(NAME, actionFilters, transportService.getTaskManager());
            this.clusterService = clusterService;
            this.healthService = healthService;
            this.client = client;
        }
        @Override
        protected void doExecute(Task task, Request request, ActionListener<Response> responseListener) {
            healthService.getHealth(
                client,
                request.indicatorName,
                request.verbose,
                responseListener.map(
                    healthIndicatorResults -> new Response(
                        clusterService.getClusterName(),
                        healthIndicatorResults,
                        request.indicatorName == null
                    )
                )
            );
        }
    }
}