<!-- 
RSS generated by JIRA (1001.0.0-SNAPSHOT#100246-sha1:7a5c50119eb0633d306e14180817ddef5e80c75d) at Thu Feb 08 23:16:05 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary add field=key&field=summary to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>FOLIO Jira</title>
    <link>https://folio-org.atlassian.net</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>1001.0.0-SNAPSHOT</version>
        <build-number>100246</build-number>
        <build-date>07-02-2024</build-date>
    </build-info>

<item>
            <title>[FOLIO-1811] SPIKE: verify and analyze checkin performance</title>
                <link>https://folio-org.atlassian.net/browse/FOLIO-1811</link>
                <project id="10290" key="FOLIO">FOLIO</project>
                    <description>&lt;p&gt;EBSCO did checkin/checkout workflow performance testing on q4 environment. One of the slowest API call was checkin by barcode &lt;tt&gt;/circulation/check-in-by-barcode&lt;/tt&gt;. See attached JMeter result file for 5 concurrent users on a small tenant for 5 minutes:&lt;br/&gt;
 &lt;span class=&quot;image-wrap&quot; style=&quot;&quot;&gt;&lt;a id=&quot;64139_thumb&quot; href=&quot;/rest/api/3/attachment/content/64139&quot; title=&quot;ebsco_checkinout_perf_result.png&quot; file-preview-type=&quot;image&quot; file-preview-id=&quot;64139&quot; file-preview-title=&quot;ebsco_checkinout_perf_result.png&quot;&gt;&lt;jira-attachment-thumbnail url=&quot;https://folio-org.atlassian.net/rest/api/3/attachment/thumbnail/64139?default=false&quot; jira-url=&quot;https://folio-org.atlassian.net/rest/api/3/attachment/thumbnail/64139&quot; filename=&quot;ebsco_checkinout_perf_result.png&quot;&gt;&lt;img src=&quot;https://folio-org.atlassian.net/rest/api/3/attachment/thumbnail/64139&quot; data-attachment-name=&quot;ebsco_checkinout_perf_result.png&quot; data-attachment-type=&quot;thumbnail&quot; data-media-services-id=&quot;45f19029-a195-4e03-bfe2-9e3772a197f1&quot; data-media-services-type=&quot;file&quot; style=&quot;border: 0px solid black&quot; /&gt;&lt;/jira-attachment-thumbnail&gt;&lt;/a&gt;&lt;/span&gt; &lt;br/&gt;
As core-platform team, we should verify the result using isolated test on nightly perf environment to see if the issue still exists and what are the possible causes.&lt;/p&gt;

&lt;p&gt;Acceptance criteria: if performance issue is confirmed, create new JIRA ticket to address it.&lt;/p&gt;</description>
                <environment></environment>
        <key id="81090">FOLIO-1811</key>
            <summary>SPIKE: verify and analyze checkin performance</summary>
                <type id="10003" iconUrl="https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium">Task</type>
                                            <priority id="10002" iconUrl="https://dev.folio.org/assets/jira-priority/jira-p3.svg">P3</priority>
                        <status id="6" iconUrl="https://folio-org.atlassian.net/images/icons/statuses/closed.png" description="The issue is considered finished, the resolution is correct. Issues which are closed can be reopened.">Closed</status>
                    <statusCategory id="3" key="done" colorName="green"/>
                                    <resolution id="10003">Done</resolution>
                                                        <assignee accountid="557058:4f6bed01-40a6-48d5-8471-7ef21f5ea97c">Hongwei Ji</assignee>
                                                                <reporter accountid="557058:4f6bed01-40a6-48d5-8471-7ef21f5ea97c">Hongwei Ji</reporter>
                                    <labels>
                            <label>platform-backlog</label>
                            <label>q1-performance</label>
                    </labels>
                <created>Mon, 18 Feb 2019 11:44:36 +0000</created>
                <updated>Wed, 3 Jun 2020 16:39:31 +0000</updated>
                            <resolved>Wed, 20 Feb 2019 21:45:36 +0000</resolved>
                                                                        <due></due>
                            <votes>0</votes>
                                    <watches>1</watches>
                                                                <comments>
                                                            <comment id="195577" author="557058:4f6bed01-40a6-48d5-8471-7ef21f5ea97c" created="Mon, 18 Feb 2019 22:11:36 +0000"  >&lt;p&gt;To verify the result, I used the same JMeter checkin/out script but disabled all API calls in the workflow except the checkin-by-barcode one. The test was done on a standard perf env with the code from folio stable site on 2018-02-15. The test sends 100 requests in 60 seconds ramp-up window. Each request looks like  &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;/rest/api/3/attachment/content/64136&quot; title=&quot;checkin.txt attached to FOLIO-1811&quot; data-attachment-type=&quot;file&quot; data-attachment-name=&quot;checkin.txt&quot; data-media-services-type=&quot;file&quot; data-media-services-id=&quot;94dfc810-3ded-4768-8048-978990be1653&quot; rel=&quot;noreferrer&quot;&gt;checkin.txt&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt; and the barcode is selected from a pool and is different for each request. The JMeter log is in  &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;/rest/api/3/attachment/content/64137&quot; title=&quot;checkin_100_60.log attached to FOLIO-1811&quot; data-attachment-type=&quot;file&quot; data-attachment-name=&quot;checkin_100_60.log&quot; data-media-services-type=&quot;file&quot; data-media-services-id=&quot;b4d78cad-4981-48cf-b3e3-fc381c312cce&quot; rel=&quot;noreferrer&quot;&gt;checkin_100_60.log&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt; and the result is in  &lt;span class=&quot;image-wrap&quot; style=&quot;&quot;&gt;&lt;a id=&quot;64138_thumb&quot; href=&quot;/rest/api/3/attachment/content/64138&quot; title=&quot;checkin_100_60.png&quot; file-preview-type=&quot;image&quot; file-preview-id=&quot;64138&quot; file-preview-title=&quot;checkin_100_60.png&quot;&gt;&lt;jira-attachment-thumbnail url=&quot;https://folio-org.atlassian.net/rest/api/3/attachment/thumbnail/64138?default=false&quot; jira-url=&quot;https://folio-org.atlassian.net/rest/api/3/attachment/thumbnail/64138&quot; filename=&quot;checkin_100_60.png&quot;&gt;&lt;img src=&quot;https://folio-org.atlassian.net/rest/api/3/attachment/thumbnail/64138&quot; data-attachment-name=&quot;checkin_100_60.png&quot; data-attachment-type=&quot;thumbnail&quot; data-media-services-id=&quot;c844195d-1b51-4773-8524-b377ed218559&quot; data-media-services-type=&quot;file&quot; style=&quot;border: 0px solid black&quot; /&gt;&lt;/jira-attachment-thumbnail&gt;&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;

&lt;p&gt;In summary: even though a single checkin-by-barcode call on an idle system is not slow (under 2 seconds). When there are multiple concurrent checkin API calls (100 requests in 60s ramp-up window), each individual API call suffer significant latency (average is 83 seconds, between min 64s to max 97s). The bright side is that throughput is still good (49 requests per minute). The possible reason for individual latency is that behind the scene, checkin-by-code API makes multiple other API calls, see attached log files for  &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;/rest/api/3/attachment/content/64143&quot; title=&quot;mod-circulation.log attached to FOLIO-1811&quot; data-attachment-type=&quot;file&quot; data-attachment-name=&quot;mod-circulation.log&quot; data-media-services-type=&quot;file&quot; data-media-services-id=&quot;6a6aa01d-7b89-45be-ac7e-9360da0bbe18&quot; rel=&quot;noreferrer&quot;&gt;mod-circulation.log&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;,  &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;/rest/api/3/attachment/content/64141&quot; title=&quot;mod-circulation-storage.log attached to FOLIO-1811&quot; data-attachment-type=&quot;file&quot; data-attachment-name=&quot;mod-circulation-storage.log&quot; data-media-services-type=&quot;file&quot; data-media-services-id=&quot;d6b1981b-24a0-4865-9fd6-c1eecb764195&quot; rel=&quot;noreferrer&quot;&gt;mod-circulation-storage.log&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;, and  &lt;span class=&quot;nobr&quot;&gt;&lt;a href=&quot;/rest/api/3/attachment/content/64145&quot; title=&quot;mod-inventory-storage.log attached to FOLIO-1811&quot; data-attachment-type=&quot;file&quot; data-attachment-name=&quot;mod-inventory-storage.log&quot; data-media-services-type=&quot;file&quot; data-media-services-id=&quot;2c5a23da-7819-4ebc-8292-e8a55f603eb1&quot; rel=&quot;noreferrer&quot;&gt;mod-inventory-storage.log&lt;sup&gt;&lt;img class=&quot;rendericon&quot; src=&quot;/images/icons/link_attachment_7.gif&quot; height=&quot;7&quot; width=&quot;7&quot; align=&quot;absmiddle&quot; alt=&quot;&quot; border=&quot;0&quot;/&gt;&lt;/sup&gt;&lt;/a&gt;&lt;/span&gt;.&lt;/p&gt;</comment>
                                                            <comment id="195581" author="557058:4f6bed01-40a6-48d5-8471-7ef21f5ea97c" created="Wed, 20 Feb 2019 21:45:36 +0000"  >&lt;p&gt;Created 
    &lt;span class=&quot;jira-issue-macro resolved&quot; data-jira-key=&quot;FOLIO-1815&quot; &gt;
                &lt;a href=&quot;https://folio-org.atlassian.net/browse/FOLIO-1815&quot; class=&quot;jira-issue-macro-key issue-link&quot;  title=&quot;SPIKE: &amp;quot;profile&amp;quot; checkin/out-by-barcode API response time&quot; &gt;
            &lt;img class=&quot;icon&quot; src=&quot;https://folio-org.atlassian.net/rest/api/2/universal_avatar/view/type/issuetype/avatar/10318?size=medium&quot; /&gt;
            FOLIO-1815
        &lt;/a&gt;
                                                    &lt;span class=&quot;aui-lozenge aui-lozenge-subtle aui-lozenge-success jira-macro-single-issue-export-pdf&quot;&gt;Closed&lt;/span&gt;
            &lt;/span&gt;
 to address checkin-by-barcode performance issue&lt;/p&gt;</comment>
                                                            <comment id="195584" author="557058:4f6bed01-40a6-48d5-8471-7ef21f5ea97c" created="Tue, 5 Mar 2019 17:05:10 +0000"  >&lt;p&gt;To make it easy to reproduce the problem, added a &lt;a href=&quot;https://github.com/folio-org/folio-perf-test/tree/master/Folio-Test-Plans/core-platform/FOLIO-1811&quot; class=&quot;external-link&quot; rel=&quot;nofollow noreferrer&quot;&gt;JMeter test&lt;/a&gt;&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10003">
                    <name>Relates</name>
                                            <outwardlinks description="relates to">
                                        <issuelink>
            <issuekey id="81093">FOLIO-1812</issuekey>
        </issuelink>
            <issuelink>
            <issuekey id="81100">FOLIO-1815</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                    </issuelinks>
                <attachments>
                            <attachment id="64136" name="checkin.txt" size="171" author="557058:4f6bed01-40a6-48d5-8471-7ef21f5ea97c" created="Mon, 18 Feb 2019 11:34:54 +0000"/>
                            <attachment id="64137" name="checkin_100_60.log" size="1005" author="557058:4f6bed01-40a6-48d5-8471-7ef21f5ea97c" created="Mon, 18 Feb 2019 11:34:54 +0000"/>
                            <attachment id="64138" name="checkin_100_60.png" size="52064" author="557058:4f6bed01-40a6-48d5-8471-7ef21f5ea97c" created="Mon, 18 Feb 2019 11:34:54 +0000"/>
                            <attachment id="64139" name="ebsco_checkinout_perf_result.png" size="247965" author="557058:4f6bed01-40a6-48d5-8471-7ef21f5ea97c" created="Mon, 18 Feb 2019 21:39:07 +0000"/>
                            <attachment id="64141" name="mod-circulation-storage.log" size="1775" author="557058:4f6bed01-40a6-48d5-8471-7ef21f5ea97c" created="Mon, 18 Feb 2019 11:34:54 +0000"/>
                            <attachment id="64143" name="mod-circulation.log" size="10116" author="557058:4f6bed01-40a6-48d5-8471-7ef21f5ea97c" created="Mon, 18 Feb 2019 11:34:54 +0000"/>
                            <attachment id="64145" name="mod-inventory-storage.log" size="3960" author="557058:4f6bed01-40a6-48d5-8471-7ef21f5ea97c" created="Mon, 18 Feb 2019 11:34:54 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                <customfield id="customfield_10000" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummarycf">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10057" key="com.atlassian.jira.plugin.system.customfieldtypes:select">
                        <customfieldname>Development Team</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue key="10144"><![CDATA[Core: Platform]]></customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10019" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>0|hzzfu7:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_10020" key="com.pyxis.greenhopper.jira:gh-sprint">
                        <customfieldname>Sprint</customfieldname>
                        <customfieldvalues>
                                <customfieldvalue id="1661">Core: Platform - Sprint 57</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                                            <customfield id="customfield_10044" key="com.atlassian.jira.plugin.system.customfieldtypes:float">
                        <customfieldname>Story Points</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>3.0</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            <customfield id="customfield_10025" key="com.atlassian.jira.ext.charting:timeinstatus">
                        <customfieldname>[CHART] Time in Status</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                    </customfields>
    </item>
</channel>
</rss>