Jmeter wamp-protocol integration - jmeter

Here is the story:
we have several servers connected to wamp (crossbar.io)
I am creating load tests for part of this system and need a way to get info from wamp server to Jmeter.
So far I found only WS plugin for Jmeter, but it wont work with wamp.
Any bright ideas?

Clearly wamp is a whole new protocol and JMeter doesn't support it out-of-the-box. Thankfully you can extend JMeter quite easily. If there are java or java family language bindings for your protocol system, you can use beanshell sampler (relatively less performant) or groovy through JSR223 sampler (better performance)
If you feel like it, you can always write up your own Wamp sampler as well.

Related

WinInet Implementation in JMeter

I am looking for a small help regarding JMeter. I have one application that is recorded in LoadRunner using WinInet setting (Port Mapping => Capture Level as WinInet).
Is there a way in Jmeter where we can have WinInet setting?
Out of the box it is not possible, JMeter uses either Java sockets or Apache HttpComponents in order to execute HTTP Requests with its HTTP Request sampler. No OS-specific code is included into JMeter so it can be run on all platforms
If your test relies on some very specific features of Windows Internet, be aware that there is no easy way of adding this functionality to JMeter
Developer audience
WinINet is designed for use by C/C++ programmers. It requires a basic understanding of the FTP and HTTP protocols.
So theoretically you can load the .dll(s) implementing WinInet protocol using JNI from JSR223 Test Elements using Groovy language and call the function(s) you need.
However my expectation is that you don't need this and you can just simply convert your LoadRunner script to JMeter using HTTP(S) Test Script Recorder or online LoadRunner/SoapUI to JMeter script converter
Check out How to Convert LoadRunner Tests to JMeter article for more details.

JMeter vs Gatling protocol flexibility

I read JMeter vs Gatling article and confused over section 9 Flexibility about JMeter:
Flexibility It supports only the HTTP protocol.
And Gatling
It supports HTTP protocol and also a few other protocols as well.
while in introduction it states other protocols for JMeter:
The different types of services can be tested by using the Apache JMeter tool such as Web Services, HTTP, FTP, JMS, LDAP, generic processes or different TCP connections etc.
What is the HTTP protocol restriction the article is referring to? what are Gatling other protocols that defer it from JMeter?
EDIT
Found another discrepancy in section 8 Ease of use, while JMeter describe as
It is a bit difficult to use.
And Gatling:
It is easier to use
It states the opposite in conclusion:
Finally, to conclude JMeter has more number of features and easier to use compared to Gatling.
JMeter supports multiple protocols:
HTTP 1.0
HTTP 1.1
HTTP 2 with 3rd party plugin
JMS
JDBC
LDAP
FTP
SOAP
UDP with 3rd party plugin
MQTT with 3rd party plugin
XMPP with 3rd party plugin
RTE with 3rd party plugin
SSH with 3rd party plugin
And it's highly extensible since its architecture is built with plugins in mind, as of now there are at least 73 OSS plugins and more than 10 commercial plugins.
There is no particular HTTP protocol restriction.
I think the blog is just wrong in formulation and considering all the other errors in it, I am not sure it is worth reading or trusting what is written.
As examples of errors or false statements:
it says JMeter has no dashboard which is wrong since it has the HTML report which contains 17 graphs and 4 tables since version 3.0
difficulty is relative and really depends on type of test being built. Is customization through scala in Gatling simple ?
do you understand this, I don't :
Apache JMeter supports recording the users’ clicks or actions while testing the web applications where as Gatling also supports the user actions and also any other simulated scenarios.
What about those statements :
Apache JMeter is less efficient and effective to be used with odd GUI features that are difficult to use where as Gatling has GUI as well as command line features that provide efficient and effective outputs.
=> What are odd GUI features ?
=> JMeter is an IDE for test building, Gatling uses the test as code approach
Apache JMeter does not have code scripting facility whereas Gatling has the code scripting facility. => Does the author know about JSR223 Test Elements ? functions ?
Apache JMeter has more number of lines of code to configure and setup the testing where as Gatling has less number of lines of code to be used in its’ configuration to run the load tests. => Really ? what are those ?
...

Service Virtualization with JMeter

I am using JMeter for API Testing. Using HTTP Request and Beanshell I am able to achieve this.
There are times where the Services are down for a weeks time.
Since I the have the Request and Response with me, I would like to implement Service Virtualization using JMeter.
Even when the Services are down, I should be able to continue my testing.
Can I achieve Service Virtualization in JMeter? If yes, can I request you to let me know the steps please.
No you can't.
I suggest you check out API simulation tools which will allow you to do service virtualization. You can then use JMeter to run your tests and an API simulation tool to mock the dependencies.
JMeter doesn't do Service Virtualization, but you can use JMeter in recording, see article:
You can import the incoming traffic to JMeter using tcpreplay and
JMeter Proxy. Run a test suite in your performance environment using
JMeter and use the virtual services to decouple yourself from other
dependencies. Just to be safe, repeat the recording process every
week. This could prove to be very easy or very difficult to implement
depending on the specifics of the system you are working with.

Performance testing Open vStorage and Ceph using JMeter

I have a query regarding benchmarking the performance of Open vStorage (storage platform) using Apache JMeter. Is it possible to run tests against Open vstorage using JMeter ?
Thanks in advance.
It depends on the protocols of this Open vStorage.
If it's one supported by JMeter then yes:
Web
HTTP/HTTPS
SOAP
Database via JDBC
MongoDB (to be removed)
LDAP
JMS Mail
SMTP(S), POP3(S) and IMAP(S)
Native commands or shell scripts
If it's not but it has a Java API, then you can plug it using either:
JSR223 + Groovy and coding the call in Groovy
or using Java Request and coding a JavaSamplerClient
I'm not sure what you are trying to test but I assume you want to test the storage performance of Open vStorage compared to Ceph RDB? Typically one uses tools like fio (http://linux.die.net/man/1/fio) to test storage performance. I had a quick look at the JMeter and it doesn't provide a storage benchmark option.

Jmeter script for Infinispan distributed mode using hot rod

I am new to Jmeter. I have requirement for run load test for Infinispan distributed mode using hot rod client server on Jmeter.I have Infinispan clusted server available and running using some application. Please someone guide me to write Jmeter script for this.
Thanks in advance.
Regards,
Mahesh Bubanale
As far as I understand you shouldn't be testing Infinispan itself, I believe that it's tested by other people and considered reliable. My expectation is that you need to test an application, which is using Infinispan to implement some clustering functionality. If so and your application is web-based you can use JMeter to produce load and insert some assertions into your code to check that your test data is being correctly replicated. The best way to start with web application testing is recording your test script via JMeter HTTP Proxy server.
If I'm getting you wrong and you need to explicitly test Infinispan HotRod endpoint, JMeter doesn't support HotRod protocol out of box. You'll need to get relevant libraries (.jar files) which implement org.infinispan.client.hotrod.impl.protocol with dependencies, drop them to /lib/ext folder of your JMeter installation and after that do one of following:
Develop a custom JMeter Sampler containing protocol implementation details, arguments, entrance and exit criteria, etc.
Create a Java Request similar to option 1
Use BeanShell samplers to represent your test cases.
Hope this helps
If you want to load test Infinispan Hot Rod server, you can use some Grinder scripts I created a while back. We've got some instructions here but they're a bit outdated. Maybe you can help us update them and convert them to talking to Infinispan Server distribution and update to version 6.0? :)
Otherwise, if you want to test Infinispan embedded/library mode, we've RadarGun which is a benchmarking framework for data grids.

Resources