<!-- 
RSS generated by JIRA (9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66) at Wed Feb 07 21:38:32 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 append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>MongoDB Jira</title>
    <link>https://jira.mongodb.org</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.7.1</version>
        <build-number>970001</build-number>
        <build-date>13-04-2023</build-date>
    </build-info>


<item>
            <title>[CSHARP-1053] Major performance degradation from 1.6.1 to 1.9.2</title>
                <link>https://jira.mongodb.org/browse/CSHARP-1053</link>
                <project id="10041" key="CSHARP">C# Driver</project>
                    <description>&lt;p&gt;I have thrown together a performance demonstration for this ticket here: &lt;a href=&quot;https://github.com/squirrelsama/mongo-csharp-driver-performance-issue&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/squirrelsama/mongo-csharp-driver-performance-issue&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The short of it: When my team upgraded the driver from 1.6.1 to 1.9.2, we were hit with serious performance issues and had to roll back. We upgraded specifically because we need the ReadEncoding setting support introduced in 1.8 and will use 1.8 until this issue gets addressed. More details in the github link, including a runnable perf script that takes ~10 minutes.&lt;/p&gt;

&lt;p&gt;I believe this issue is major because with the 1.6.1 driver, mongo will perform the test in just under 30 seconds; but in 1.9.2, that time doubles to 60 seconds. This likely implies that at minimum, half the time spent trying to interact with mongodb is spent in the driver&apos;s code, not waiting on mongodb&apos;s network.&lt;/p&gt;

&lt;p&gt;If you want more information, I&apos;d be more than happy to oblige.&lt;/p&gt;</description>
                <environment></environment>
        <key id="155438">CSHARP-1053</key>
            <summary>Major performance degradation from 1.6.1 to 1.9.2</summary>
                <type id="1" iconUrl="https://jira.mongodb.org/secure/viewavatar?size=xsmall&amp;avatarId=14703&amp;avatarType=issuetype">Bug</type>
                                            <priority id="3" iconUrl="https://jira.mongodb.org/images/icons/priorities/major.svg">Major - P3</priority>
                        <status id="6" iconUrl="https://jira.mongodb.org/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="success"/>
                                    <resolution id="9">Done</resolution>
                                        <assignee username="-1">Unassigned</assignee>
                                    <reporter username="squirrelsama">Anthony Sutton</reporter>
                        <labels>
                    </labels>
                <created>Thu, 28 Aug 2014 23:30:52 +0000</created>
                <updated>Sat, 4 Apr 2015 22:31:10 +0000</updated>
                            <resolved>Sat, 4 Apr 2015 22:31:10 +0000</resolved>
                                    <version>1.9</version>
                    <version>1.9.1</version>
                    <version>1.9.2</version>
                                                    <component>Performance</component>
                                        <votes>1</votes>
                                    <watches>2</watches>
                                                                                                                <comments>
                            <comment id="711559" author="craiggwilson" created="Thu, 4 Sep 2014 16:03:06 +0000"  >&lt;p&gt;Hi Anthony,&lt;/p&gt;

&lt;p&gt;Thanks for the report. I&apos;m concerned a little that even 1.8.3 is worse than 1.6. However, 1.9 is definitely going to be slower in certain cases. The server now prefers the use of write commands, and there is a lot of logic that goes into splitting batches correctly and us needing to decide whether to use the old opcodes or the new write commands.  Using 1.6 will prevent you from using newer versions of the server when they remove the opcodes (yet to be determined). In addition, if you are using server versions 2.6 in a sharded environment, there is no getting around this overhead at all as mongos does the same thing we are doing.&lt;/p&gt;

&lt;p&gt;Long and short... we will work on improving performance and I apologize for the drift. Part of it is unavoidable, but we&apos;ll see what we can do to amp it back up.&lt;/p&gt;

&lt;p&gt;Craig&lt;/p&gt;</comment>
                            <comment id="711522" author="squirrelsama" created="Thu, 4 Sep 2014 15:24:13 +0000"  >&lt;p&gt;Attached are some mongo stats for deploying from 1.6.1 to 1.8.3.&lt;/p&gt;

&lt;p&gt;For now, my plan is to fork 1.6.1 to add the ReadEncoding feature we need, and defer upgrading until these performance issues are resolved.&lt;/p&gt;</comment>
                            <comment id="707765" author="squirrelsama" created="Fri, 29 Aug 2014 16:27:20 +0000"  >&lt;p&gt;FYI, just to clarify: We did observe the initial performance issue that required rollback with the client running on Windows, mongod running on Linux. Only my profiling was done with the client running on Linux/mono&lt;/p&gt;</comment>
                            <comment id="707635" author="jlpedrosa@gmail.com" created="Fri, 29 Aug 2014 13:59:59 +0000"  >&lt;p&gt;Attached the profiling from 1.6.&lt;/p&gt;</comment>
                            <comment id="707629" author="jlpedrosa@gmail.com" created="Fri, 29 Aug 2014 13:52:36 +0000"  >&lt;p&gt;profiling from visual studio running the test of 1.9.2&lt;/p&gt;</comment>
                            <comment id="707621" author="jlpedrosa@gmail.com" created="Fri, 29 Aug 2014 13:42:17 +0000"  >&lt;p&gt;Hi,&lt;/p&gt;

&lt;p&gt;I&apos;ve run the test in windows 7 64 bits, Release version. this are the results:&lt;/p&gt;

&lt;p&gt;from VS&lt;br/&gt;
1.6.1.4678 took 96065ms&lt;br/&gt;
1.9.2.235 took 122188ms&lt;/p&gt;

&lt;p&gt;From cmdline&lt;br/&gt;
1.6.1.4678 took 79630ms&lt;br/&gt;
1.9.2.235 took 98287ms&lt;/p&gt;

&lt;p&gt;Indeed just by browsing the task manager, I can see that in version 1.6 the mongod proc uses more CPU than the load test generator, while on 1.9 it&apos;s 50%-50%. The diferences are not as high as the one that Anthony had with mono.&lt;/p&gt;

&lt;p&gt;Looking at the performance profiling, aparently, Insert operation is the one that has become heavier.&lt;/p&gt;

&lt;p&gt;BR&lt;/p&gt;</comment>
                            <comment id="707331" author="squirrelsama" created="Thu, 28 Aug 2014 23:31:53 +0000"  >&lt;p&gt;Typo at the end: &quot;not waiting on mongodb OR the network.&quot;&lt;/p&gt;</comment>
                    </comments>
                    <attachments>
                            <attachment id="51043" name="MongoDriverPerf.1.6.1140829.vsp" size="2878658" author="jlpedrosa@gmail.com" created="Fri, 29 Aug 2014 13:59:59 +0000"/>
                            <attachment id="51042" name="MongoDriverPerf.1.9.2140829.vsps" size="528752" author="jlpedrosa@gmail.com" created="Fri, 29 Aug 2014 13:52:36 +0000"/>
                            <attachment id="51417" name="post-deploy-stats.png" size="53505" author="squirrelsama" created="Thu, 4 Sep 2014 15:23:08 +0000"/>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_15850" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                    <customfield id="customfield_12550" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>2|hs1sjz:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10558" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>135083</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            </customfields>
    </item>
</channel>
</rss>