Performance deep dive¶
ows_stats¶
append
&ows_stats=yes
to getmaps query for a view like this
{
profile: {
query: 0.060224294662475586,
count-datasets: 0.027852535247802734,
extent-in-query: 0.017885684967041016,
write: 0.014366865158081055
},
info: {
n_dates: 1,
zoom_factor: 14.030289733687082,
n_datasets: 9,
too_many_datasets: false,
zoomed_out: true,
write_action: "Polygon"
}
}
Run pyspy¶
Docker-Compose¶
To make the chained docker-compose with pre-indexed database:
COMPOSE_CHAIN='docker-compose -f docker-compose.yaml -f docker-compose.db.yaml -f docker-compose.pyspy.yaml'
To make the chained docker-compose with local database:
COMPOSE_CHAIN='docker-compose -f docker-compose.yaml -f docker-compose.pyspy.yaml'
To start ows with pre-indexed db and pyspy on the side:
$COMPOSE_CHAIN up -d
Get Datacube-ows docker process id:
OWS_PID=$(docker inspect --format '{{.State.Pid}}' $(docker inspect -f '{{.Name}}' \
$($COMPOSE_CHAIN ps -q ows) | cut -c2-))
Run py-spy:
$COMPOSE_CHAIN run pyspy record -f speedscope -o profile.json \
--pid $OWS_PID --subprocesses