Page tree
Skip to end of metadata
Go to start of metadata

The MetadataQueryProtocol base URL will be different for the production version of this service. The current documentation applies only to the Technology Preview. More information will be provided here about how to configure your deployment to use the production MDQ service when it becomes available.

The public key and its certificate for the Technology Preview of the MDQ service may change with little notice. The production version of the public key and its certificate will be long-lived and stable.

You can use curl to test performance at home of retrieving entities:

curl -s -w "%{time_connect}:%{time_pretransfer}:%{time_starttransfer}:%{time_total}:%{size_download}\n" -o /tmp/out<entity id>

This will produce output like so:


The 4th element returned (time_total) was used for the data presented in the January 23rd IAM Online Presentation. You should expect to see over 99% of entities returning in less than 200 milliseconds at your institution assuming a reasonable internet connection and no other local delays (server running out of memory, for example). Even some home internet connections observed more than 99% of entities returned in under 200 milliseconds. Note that if you re-run the test, you may see improved performance results because the entity will now be cached at the edge of the CDN.

You can iterate through all entities, running the curl command above for each, and produce a graph like below to see performance across all entities from your institution. Run the set again to produce times for cached results. The second graph shows what you will see if your first run was already cached.


The graphs above were produced using GNU Octave with the following script. Replace pre.txt with a single column text file of your first run (uncached) times, and post.txt with a single column text file of your second run (cached) times.

[y_pre, x_pre] = hist(pre, 0.01:0.001:.3);
[y_post, x_post] = hist(post, 0.01:0.001:.3);
hold on;
f_pre = plot(x_pre, y_pre, 'b')
set(f_pre, 'linewidth', 3);
f_post = plot(x_post, y_post, 'r')
set(f_post, 'linewidth', 3);
set(gca, 'linewidth', 3, 'fontsize', 28)
title('MDQ Request Latency', 'fontsize', 30)
xlabel('Seconds', 'fontsize', 28)
ylabel('Count','fontsize', 28, 'fontname', 'arial')
legend('Uncached', 'Cached at Edge', 'fontsize', 28, 'location', 'eastoutside')
grid off;
hold off;

  • No labels