<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
</head>
<body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; color: rgb(0, 0, 0); font-size: 14px; font-family: Calibri, sans-serif;">
<div>Done:&nbsp;<a href="https://github.com/mitreid-connect/OpenID-Connect-Java-Spring-Server/issues/902">https://github.com/mitreid-connect/OpenID-Connect-Java-Spring-Server/issues/902</a></div>
<div><br>
</div>
<div>Regards,</div>
<div>Luiz</div>
<div><br>
</div>
<span id="OLK_SRC_BODY_SECTION">
<div style="font-family:Calibri; font-size:11pt; text-align:left; color:black; BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; PADDING-BOTTOM: 0in; PADDING-LEFT: 0in; PADDING-RIGHT: 0in; BORDER-TOP: #b5c4df 1pt solid; BORDER-RIGHT: medium none; PADDING-TOP: 3pt">
<span style="font-weight:bold">From: </span>Justin Richer &lt;<a href="mailto:jricher@mit.edu">jricher@mit.edu</a>&gt;<br>
<span style="font-weight:bold">Date: </span>Thursday, September 3, 2015 at 3:37 PM<br>
<span style="font-weight:bold">To: </span>Luiz Omori &lt;<a href="mailto:luiz.omori@dm.duke.edu">luiz.omori@dm.duke.edu</a>&gt;<br>
<span style="font-weight:bold">Cc: </span>&quot;<a href="mailto:mitreid-connect@mit.edu">mitreid-connect@mit.edu</a>&quot; &lt;<a href="mailto:mitreid-connect@mit.edu">mitreid-connect@mit.edu</a>&gt;<br>
<span style="font-weight:bold">Subject: </span>Re: [mitreid-connect] General performance<br>
</div>
<div><br>
</div>
<div>
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class="">
Luiz, this is great data. Please submit the index creation components to GitHub and we&#8217;ll add them to the MySQL side. I would imagine that indexes on client_id would probably help too.
<div class=""><br class="">
</div>
<div class="">&nbsp;&#8212; Justin</div>
<div class=""><br class="">
<div>
<blockquote type="cite" class="">
<div class="">On Sep 3, 2015, at 3:21 PM, Luiz Omori &lt;<a href="mailto:luiz.omori@duke.edu" class="">luiz.omori@duke.edu</a>&gt; wrote:</div>
<br class="Apple-interchange-newline">
<div class="">
<title class=""></title>
<div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; font-size: 14px; font-family: Calibri, sans-serif;" class="">
<div class="">While investigating overall performance aspects on our production environment we found out a few things about MitreID:</div>
<ol class="">
<li class="">We recommend the following indexes to be added (at least for MySQL):
<ol class="">
<li class="">CREATE INDEX token_value_idx ON access_token(token_value(767));</li><li class="">CREATE INDEX owner_id_idx ON token_scope(owner_id);</li><li class="">CREATE INDEX expiration_idx ON access_token(expiration);</li><li class="">CREATE INDEX auth_holder_id1_idx ON refresh_token(auth_holder_id);</li></ol>
</li><li class="">RSASSASigner.sign is using quite a bit of CPU power. Just an observation, not sure if anything can be done. Using RSA 2048 key.</li></ol>
<div class="">The indexes themselves may improve performance by 10&#43;%. See attached output from JMeter (<a href="http://jmeter.apache.org/usermanual/component_reference.html#Aggregate_Report" class="">http://jmeter.apache.org/usermanual/component_reference.html#Aggregate_Report</a>).
 Interesting that there is a high latency (1200&#43; ms) per call but the also high throughput (79 req/sec). I guess that&#8217;s why we have Queue Theory in CS, eh? :)</div>
<div class=""><br class="">
</div>
<div class="">We can maybe make those changes in Github however won&#8217;t be able to test all options, e.g. PostgreSQL. Note that there is a limitation in MySQL where it doesn&#8217;t handle index on large columns. As configured on my system, the max column length is
 767 for indexes.</div>
<div class=""><br class="">
</div>
<div class="">We are using JMeter to create 100 requests/sec, repeated 50 times, running version 1.1.16 connected to MySQL, MySQL Enterprise Monitor for SQL analysis, and JVisualVM to profile the application. All components are running on my development (MacOS)
 system. The requests are using the Resource Owner flow.</div>
<div class=""><br class="">
</div>
<div class="">By the way MitreID doesn&#8217;t appear to be the source of our main performance concerns.</div>
<div class=""><br class="">
</div>
<div class="">Regards,</div>
<div class="">Luiz&nbsp;</div>
</div>
<span id="cid:AC603319C5F7864C8672371FF7AA8AF6@namprd05.prod.outlook.com">&lt;after.png&gt;</span><span id="cid:8D689CA0264A434DA847F2E9CA53788E@namprd05.prod.outlook.com">&lt;before.png&gt;</span><span id="cid:6F9EF1F6EB473140832D05D1B317B91C@namprd05.prod.outlook.com">&lt;Screen
 Shot 2015-09-03 at 3.20.31 PM.png&gt;</span>_______________________________________________<br class="">
mitreid-connect mailing list<br class="">
<a href="mailto:mitreid-connect@mit.edu" class="">mitreid-connect@mit.edu</a><br class="">
<a href="http://mailman.mit.edu/mailman/listinfo/mitreid-connect">http://mailman.mit.edu/mailman/listinfo/mitreid-connect</a><br class="">
</div>
</blockquote>
</div>
<br class="">
</div>
</div>
</div>
</span>
</body>
</html>