Bug 56841 - New configuration element: DNS Cache Manager to improve the testing of CDN
Summary: New configuration element: DNS Cache Manager to improve the testing of CDN
Status: RESOLVED FIXED
Alias: None
Product: JMeter
Classification: Unclassified
Component: HTTP (show other bugs)
Version: unspecified
Hardware: PC Linux
: P2 normal (vote)
Target Milestone: ---
Assignee: JMeter issues mailing list
URL:
Keywords:
: 43730 (view as bug list)
Depends on:
Blocks:
 
Reported: 2014-08-12 14:54 UTC by Dzmitry Kashlach
Modified: 2016-02-21 21:34 UTC (History)
3 users (show)



Attachments
DNS Cache Manager sources (38.32 KB, patch)
2014-08-12 14:54 UTC, Dzmitry Kashlach
Details | Diff
icon for component_reference.xml (12.74 KB, image/png)
2014-08-12 14:55 UTC, Dzmitry Kashlach
Details
Update patch v2 (44.31 KB, patch)
2014-08-12 21:42 UTC, Milamber
Details | Diff
http-cache-manager.png (14.69 KB, image/png)
2014-08-13 10:06 UTC, Dzmitry Kashlach
Details
Final patch before commit (45.81 KB, patch)
2014-08-14 20:34 UTC, Milamber
Details | Diff
New screenshot (10.86 KB, image/png)
2014-08-14 20:36 UTC, Milamber
Details
NotSerializableException (1.01 KB, patch)
2014-09-19 13:03 UTC, Dzmitry Kashlach
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Dzmitry Kashlach 2014-08-12 14:54:42 UTC
Created attachment 31907 [details]
DNS Cache Manager sources

As was proposed by Milamber, creating separate issue for discussion in DEV-list:

http://jmeter.512774.n5.nabble.com/DNS-Cache-Manager-improvement-for-testing-CDN-td5720797.html

This config element help to get more realistic load while testing web-applications, which're using CDN.

Attaching two files: dns-cache-manager.patch and dns-cache-manager.png(an icon for component_reference.xml)
Comment 1 Dzmitry Kashlach 2014-08-12 14:55:35 UTC
Created attachment 31908 [details]
icon for component_reference.xml
Comment 2 Milamber 2014-08-12 21:42:21 UTC
Created attachment 31911 [details]
Update patch v2

Fix some alphabetical orders
Add some missing I18N strings
Add French translation
Formatting the code


Some issues remain (I think) between DNSCacheManager and DNSCachePanel on configure/modifyTestElement methods. (no time tonight to fix them)


Why use a PoolingClientConnectionManager in HTTPHC4Impl.java? BasicClientConnectionManager don't sufficient? The JMeter(httpclient) default client connection manger is change with Pooling?

+            PoolingClientConnectionManager poolingClientConnectionManager=
+                    new PoolingClientConnectionManager(SchemeRegistryFactory.createDefault(),resolver);
+

Screenshot must be refresh.
Comment 3 Dzmitry Kashlach 2014-08-13 10:06:14 UTC
Created attachment 31912 [details]
http-cache-manager.png
Comment 4 Dzmitry Kashlach 2014-08-13 10:12:24 UTC
(In reply to Milamber from comment #2)
> Some issues remain (I think) between DNSCacheManager and DNSCachePanel on
> configure/modifyTestElement methods. (no time tonight to fix them)
Can you show logs/description?

 
> Why use a PoolingClientConnectionManager in HTTPHC4Impl.java?
> BasicClientConnectionManager don't sufficient? The JMeter(httpclient)
> default client connection manger is change with Pooling?
> 
> +            PoolingClientConnectionManager poolingClientConnectionManager=
> +                    new
> PoolingClientConnectionManager(SchemeRegistryFactory.createDefault(),
> resolver);
> +

PoolingClientConnectionManager is extended BasicClientConnectionManager, it has constructor, which allows to pass instance of DnsResolver to httpclient to get flexibility. BasicClientConnectionManager does not allow to do that.

PoolingClientConnectionManager.java

    public PoolingClientConnectionManager(final SchemeRegistry schreg,final DnsResolver dnsResolver) {
        this(schreg, -1, TimeUnit.MILLISECONDS,dnsResolver);
    }

Added screenshot
Comment 5 Milamber 2014-08-14 20:34:58 UTC
Created attachment 31917 [details]
Final patch before commit
Comment 6 Milamber 2014-08-14 20:36:06 UTC
Created attachment 31918 [details]
New screenshot
Comment 7 Milamber 2014-08-14 20:46:13 UTC
In the final patch, I have fixed the usage of radio buttons to allow to restore the good config when you load a jmx file with a DNS cache manager.

Update docs

Thanks for your initial work.

Please test the nightly build to see if all is work fine with a CDN load test.

Milamber

==

URL: http://svn.apache.org/r1618048
Log:
New configuration element: DNS Cache Manager to improve the testing of CDN
Bugzilla Id: 56841

Added:
    jmeter/trunk/docs/images/screenshots/dns-cache-manager.png   (with props)
    jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/DNSCacheManager.java   (with props)
    jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/gui/DNSCachePanel.java   (with props)
    jmeter/trunk/xdocs/images/screenshots/dns-cache-manager.png   (with props)
Modified:
    jmeter/trunk/bin/saveservice.properties
    jmeter/trunk/build.properties
    jmeter/trunk/build.xml
    jmeter/trunk/eclipse.classpath
    jmeter/trunk/res/maven/ApacheJMeter_parent.pom
    jmeter/trunk/src/core/org/apache/jmeter/resources/messages.properties
    jmeter/trunk/src/core/org/apache/jmeter/resources/messages_fr.properties
    jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPHC4Impl.java
    jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/sampler/HTTPSamplerBase.java
    jmeter/trunk/xdocs/changes.xml
    jmeter/trunk/xdocs/usermanual/component_reference.xml


URL: http://svn.apache.org/r1618049
Log:
Add dnsjava to ignore
Bugzilla Id: 56841

Modified:
    jmeter/trunk/lib/   (props changed)
Comment 8 Milamber 2014-08-14 21:47:17 UTC
URL: http://svn.apache.org/r1618067
Log:
synchronize the revision with saveservice.properties
Bugzilla Id: 56841

Modified:
    jmeter/trunk/src/core/org/apache/jmeter/save/SaveService.java
Comment 9 Dzmitry Kashlach 2014-09-19 13:01:57 UTC
I've have faced with NotSerializableException while running distributed tests with DNS Cache Manager. Attaching a patch for it.
Comment 10 Dzmitry Kashlach 2014-09-19 13:03:07 UTC
Created attachment 32033 [details]
NotSerializableException
Comment 11 Milamber 2014-09-21 09:41:39 UTC
Fixed. Thanks.

URL: http://svn.apache.org/r1626548
Log:
Fix a NotSerializableException issue with distributed tests
Bugzilla Id: 56841

Modified:
    jmeter/trunk/src/protocol/http/org/apache/jmeter/protocol/http/control/DNSCacheManager.java


===


URL: http://svn.apache.org/r1626549
Log:
Add dnsjava into binary packages
Bugzilla Id: 56841

Modified:
    jmeter/trunk/build.xml
Comment 12 Philippe Mouawad 2016-02-21 21:34:18 UTC
*** Bug 43730 has been marked as a duplicate of this bug. ***