ASG
IBM
Zystems
Cressida
Icon
Netflexity
 
  MQSeries.net
Search  Search       Tech Exchange      Education      Certifications      Library      Info Center      SupportPacs      LinkedIn  Search  Search                                                                   FAQ  FAQ   Usergroups  Usergroups
 
Register  ::  Log in Log in to check your private messages
 
RSS Feed - WebSphere MQ Support RSS Feed - Message Broker Support

MQSeries.net Forum Index » General Discussion » 2035 while trying to load test using JMeter

Post new topic  Reply to topic Goto page Previous  1, 2, 3, 4  Next
 2035 while trying to load test using JMeter « View previous topic :: View next topic » 
Author Message
hughson
PostPosted: Thu Jun 04, 2020 6:39 pm    Post subject: Reply with quote

Padawan

Joined: 09 May 2013
Posts: 1914
Location: Bay of Plenty, New Zealand

yanaK wrote:
... all the load tests (from my mac) are running successfully!

However when I login to the MQ server (as mqm) and run the same test, I get Errors.
I see nothing in the logs though.

Can you show us what errors you do see, and tell us where you see these errors.

Also, you say you are running the same test, but of course it might be different if you are local - since you don't NEED to connect as a client. Is the test still connecting as a client when you run the same test when logged onto the server, or does it now run as a local connection? The security that the queue manager will apply will operate differently depending on whether you are connected locally or via a network connection (client). To help you, we need to understand this distinction.

yanaK wrote:
It doesn't work even if I explicitly specify psqr in the test config.

What does the test do with the user ID that you specify? It's quite important as it may not be making the difference you think it is.

Cheers,
Morag
_________________
Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software
Back to top
View user's profile Send private message Visit poster's website
yanaK
PostPosted: Thu Jun 04, 2020 8:50 pm    Post subject: Reply with quote

Acolyte

Joined: 28 May 2020
Posts: 69

Thanks for your reply Morag (given the awesome things I heard from others about you (and read some of your articles), its an honor that you are helping me out).

I see these errors in jmeter output file when I run from the MQ server as mqm user:
Code:
timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,URL,Latency,IdleTime,Connect
0,0,ERROR: co.signal.mqmeter.MQClientSampler,,,PutGetMessages 1-1,,false,,50,0,1,1,null,0,0,0
0,0,ERROR: co.signal.mqmeter.MQClientSampler,,,PutGetMessages 1-1,,false,,50,0,1,1,null,0,0,0
.
.

And I've the userid and pwd empty in jmeter config:
Code:
 <elementProp name="mq_user_id" elementType="Argument">
                <stringProp name="Argument.name">mq_user_id</stringProp>
                <stringProp name="Argument.value"></stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
              </elementProp>
              <elementProp name="mq_user_password" elementType="Argument">
                <stringProp name="Argument.name">mq_user_password</stringProp>
                <stringProp name="Argument.value"></stringProp>
                <stringProp name="Argument.metadata">=</stringProp>
              </elementProp>


I tried adding the user psqr too but no luck.

Then I logged in as me into the MQ box and get a little different error:
Code:
timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,URL,Latency,IdleTime,Connect
1591332077396,188,PutGetMessage,500,Exception: null,PutGetMessages 1-1,text,false,,667,0,1,1,null,0,0,0
1591332077589,0,PutGetMessage,500,Exception: null,PutGetMessages 1-1,text,false,,667,0,1,1,null,0,0,0
.


In all the above cases there is nothing in the AMQ error log.

Is the test still connecting as a client when you run the same test when logged onto the server, or does it now run as a local connection?
I am not sure - how do I know? I'm using the mqmeter plugin.

What does the test do with the user ID that you specify?
The goal of the test is to send message to the queue (nothing with respect to the user). I am not sure how the user is being used - in fact, when I run successfully from local mac I don't even need to specify the user in jmeter config. I am publishing to the QALIAS I setup and also did setaut +all to the psqr user. (Also not sure why its trying to connect as that user from my mac)

Thanks for all the help.
Back to top
View user's profile Send private message
hughson
PostPosted: Thu Jun 04, 2020 9:22 pm    Post subject: Reply with quote

Padawan

Joined: 09 May 2013
Posts: 1914
Location: Bay of Plenty, New Zealand

yanaK wrote:
I see these errors in jmeter output file when I run from the MQ server as mqm user:
Code:
timeStamp,elapsed,label___________________________________,responseCode,responseMessage,threadName________,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,URL_,Latency,IdleTime,Connect
0        ,0      ,ERROR: co.signal.mqmeter.MQClientSampler,             ,              ,PutGetMessages 1-1,        ,false  ,              ,50   ,0        ,1         ,1         ,null,0      ,0       ,0
0        ,0      ,ERROR: co.signal.mqmeter.MQClientSampler,             ,              ,PutGetMessages 1-1,        ,false  ,              ,50   ,0        ,1         ,1         ,null,0      ,0       ,0

I have taken the liberty of aligning the columns in your output so that we could see whether there was anything useful - hopefully easier to read now. There doesn't seem to be much information coming back from jmeter here. It just says "success=false" but doesn't supply a "failureMessage". The fact there is no "timestamp" or "elapsed" - comparing it to your later example output - this suggests to me that the "PutGetMessages" steps didn't even run, so probably there was an error at connection - which has to happen first.

yanaK wrote:
Is the test still connecting as a client when you run the same test when logged onto the server, or does it now run as a local connection?
I am not sure - how do I know? I'm using the mqmeter plugin.

I know nothing about jmeter or the mqmeter plugin. Given the "label" shown above, and the fact that you haven't made any specific changes to NOT be running as a client - my suspicion is that you are still using a client connection even when you run logged in locally.

yanaK wrote:
In all the ... cases there is nothing in the AMQ error log.

Are you only checking the queue manager error log - that is $MQ_DATA_PATH/QMgrs/MQPS3/errors/AMQERR01.LOG

Or are you remembering that there is also a system wide MQ error log, which is where client errors will be written. Please can you also check $MQ_DATA_PATH/errors/AMQERR01.LOG

yanaK wrote:
What does the test do with the user ID that you specify?
The goal of the test is to send message to the queue (nothing with respect to the user). I am not sure how the user is being used - in fact, when I run successfully from local mac I don't even need to specify the user in jmeter config. I am publishing to the QALIAS I setup and also did setaut +all to the psqr user. (Not sure why its trying to connect as that user)

If you don't need to specify the user in the jmeter config when you connect remotely from a different machine, then I suspect that the queue manager isn't configured to do anything with a user ID and password were it to be supplied by jmeter. Given that you are using MQ V7.1 you don't even have the CONNAUTH feature to enable, so it would have to be some sort of Security exit. I suspect there is nothing paying any heed to an application supplied user id and password.

yanaK wrote:
Then I logged in as me into the MQ box and get a little different error:
Code:
timeStamp____,elapsed,label________,responseCode,responseMessage,threadName________,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,URL_,Latency,IdleTime,Connect
1591332077396,188    ,PutGetMessage,500         ,Exception: null,PutGetMessages 1-1,text    ,false  ,              ,667  ,0        ,1         ,1         ,null,0      ,0       ,0
1591332077589,0      ,PutGetMessage,500         ,Exception: null,PutGetMessages 1-1,text    ,false  ,              ,667  ,0        ,1         ,1         ,null,0      ,0       ,0
.

I just lined these up as well, in case anything useful jumped out at me. You can see that this time it at least has a "responseCode" and a "responseMessage" and a "dataType" which the above errors did not. This suggests to me that in the second example, the "PutGetMessage" code was attempted and then failed, which suggests the connection was successful in this case.

Connections fail for two main reasons - network connectivity and security. Given that you have run the test twice in the same place, just logged on with a different user id, this suggests connectivity is OK and security reasons are what are stopping your connection from working. However, that would generally mean something in the AMQERR01.LOG error log, as you saw when getting it to work from your Mac.

Cheers,
Morag
_________________
Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software
Back to top
View user's profile Send private message Visit poster's website
yanaK
PostPosted: Sun Jun 07, 2020 10:03 pm    Post subject: Reply with quote

Acolyte

Joined: 28 May 2020
Posts: 69

Here is what I see in the on that day in /var/mqm/errors/AMQERR01.LOG:
----- amqxfdcx.c : 922 --------------------------------------------------------
Code:
06/04/2020 09:59:15 PM - Process(63308.1) User(mqm) Program(amqsputc)
                    Host(z3421) Installation(Installation1)
                    VRMF(7.1.0.7)
AMQ9518: File '/var/mqm/AMQCLCHL.TAB' not found.

EXPLANATION:
The program requires that the file '/var/mqm/AMQCLCHL.TAB' is present and
available.
ACTION:
This may be caused by invalid values for the optional environment variables
MQCHLLIB, MQCHLTAB or MQDATA. If these variables are valid or not set then
record the name of the file and tell the systems administrator who must ensure
that file '/var/mqm/AMQCLCHL.TAB' is available to the program.


Also is there a concept of default user? Else why did the requests started to work from my local mac once I did this?
Code:
setmqaut -m MQPS3 -t qmgr -p psqr +all


Also in the second case (ie running from the local MQ server as me) what might be a potential security reason (which is not there while running as me, from my mac)?

Thanks
Back to top
View user's profile Send private message
hughson
PostPosted: Mon Jun 08, 2020 2:22 am    Post subject: Reply with quote

Padawan

Joined: 09 May 2013
Posts: 1914
Location: Bay of Plenty, New Zealand

yanaK wrote:
Here is what I see in the on that day in /var/mqm/errors/AMQERR01.LOG:
----- amqxfdcx.c : 922 --------------------------------------------------------
Code:
06/04/2020 09:59:15 PM - Process(63308.1) User(mqm) Program(amqsputc)
                    Host(z3421) Installation(Installation1)
                    VRMF(7.1.0.7)
AMQ9518: File '/var/mqm/AMQCLCHL.TAB' not found.

EXPLANATION:
The program requires that the file '/var/mqm/AMQCLCHL.TAB' is present and
available.
ACTION:
This may be caused by invalid values for the optional environment variables
MQCHLLIB, MQCHLTAB or MQDATA. If these variables are valid or not set then
record the name of the file and tell the systems administrator who must ensure
that file '/var/mqm/AMQCLCHL.TAB' is available to the program.


This message was as a result of running the IBM supplied sample program amqsputc, so presumably unrelated.

yanaK wrote:
Also is there a concept of default user? Else why did the requests started to work from my local mac once I did this?
Code:
setmqaut -m MQPS3 -t qmgr -p psqr +all


When setting authorities on a principal (aka user id rather than a group), what actually happens, by default, is that the authority is set on the primary group of that user id. So I'm guessing that the primary group of user id 'psqr' is the same as the one you are connecting with from the mac.

yanaK wrote:
Also in the second case (ie running from the local MQ server as me) what might be a potential security reason (which is not there while running as me, from my mac)?

Assume you are using different users in each case - and those users are in different groups? And so presumably have different authorities granted.

Cheers,
Morag
_________________
Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software
Back to top
View user's profile Send private message Visit poster's website
yanaK
PostPosted: Mon Jun 08, 2020 11:11 am    Post subject: Reply with quote

Acolyte

Joined: 28 May 2020
Posts: 69

Thanks.

Is there a command to get the primary group of a principal?

I'd like to see me from mac vs me in the server - how they are differing?

Is there any command that I can run to check those?
Back to top
View user's profile Send private message
hughson
PostPosted: Mon Jun 08, 2020 7:53 pm    Post subject: Reply with quote

Padawan

Joined: 09 May 2013
Posts: 1914
Location: Bay of Plenty, New Zealand

yanaK wrote:
Is there a command to get the primary group of a principal?

Try:
Code:
id -ng username


Cheers,
Morag
_________________
Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software
Back to top
View user's profile Send private message Visit poster's website
yanaK
PostPosted: Mon Jun 08, 2020 11:23 pm    Post subject: Reply with quote

Acolyte

Joined: 28 May 2020
Posts: 69

Interesting:

When I do
Code:
id -ng <myusername>
from my mac, its a part of some domain users but when I do it from the MQ server its something different (called stick )
Similarly when I do
Code:
id -ng psqr
from my mac, its a part of the same domain users as above while when I do it from MQ server, its psqr.
And mqm is a part of mqm group.

I can try granting all permission to the stick group (or the mqm group but its not even connecting when I'm mqm). Do you think that's worth a try?
Back to top
View user's profile Send private message
yanaK
PostPosted: Mon Jun 08, 2020 11:29 pm    Post subject: Reply with quote

Acolyte

Joined: 28 May 2020
Posts: 69

I tried adding +all to stick group but no luck - same 500s
And nothing in the logs (from mac I was at least getting the error)
Back to top
View user's profile Send private message
hughson
PostPosted: Tue Jun 09, 2020 1:46 am    Post subject: Reply with quote

Padawan

Joined: 09 May 2013
Posts: 1914
Location: Bay of Plenty, New Zealand

It only matters what group it is in on the machine where the queue manager in running.

If you're getting the 500 errors, i.e. the second set of errors you showed us before, I thought that represented the connection working and the put/get failing in some way. I thought you were getting the first set of errors you showed us.

Perhaps it is time to trace what is going in from an MQ perspective. Unfortunately, it seems no-one on here knows JMeter, so in order to be able to help you better, we need to see something that is MQ related. ResponseCode =500 isn't an MQ error.

Something like Application Activity Trace might be useful, unless you know how to configure JMeter to actually tell us what is wrong from an MQ perspective? Linked exceptions or some such?

Cheers,
Morag
_________________
Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software
Back to top
View user's profile Send private message Visit poster's website
yanaK
PostPosted: Tue Jun 09, 2020 7:49 am    Post subject: Reply with quote

Acolyte

Joined: 28 May 2020
Posts: 69

Quote:
If you're getting the 500 errors, i.e. the second set of errors you showed us before, I thought that represented the connection working and the put/get failing in some way. I thought you were getting the first set of errors you showed us.


The first set of errors are when running as mqm from the MQ server.

Quote:
It only matters what group it is in on the machine where the queue manager in running.


It is the same machine where the queue manager is running.
Back to top
View user's profile Send private message
bruce2359
PostPosted: Tue Jun 09, 2020 10:30 am    Post subject: Reply with quote

Poobah

Joined: 05 Jan 2008
Posts: 9396
Location: US: west coast, almost. Otherwise, enroute.

yanaK wrote:
It is the same machine where the queue manager is running.

Again, please be precise. By "machine" do you mean the same LPAR? The same o/s instance?
_________________
I like deadlines. I like to wave as they pass by.
ב''ה
Lex Orandi, Lex Credendi, Lex Vivendi. As we Worship, So we Believe, So we Live.
Back to top
View user's profile Send private message
yanaK
PostPosted: Tue Jun 09, 2020 12:14 pm    Post subject: Reply with quote

Acolyte

Joined: 28 May 2020
Posts: 69

same o/s instance
Back to top
View user's profile Send private message
yanaK
PostPosted: Tue Jun 09, 2020 3:51 pm    Post subject: Reply with quote

Acolyte

Joined: 28 May 2020
Posts: 69

-na-

Last edited by yanaK on Tue Jun 09, 2020 4:20 pm; edited 1 time in total
Back to top
View user's profile Send private message
yanaK
PostPosted: Tue Jun 09, 2020 4:17 pm    Post subject: Reply with quote

Acolyte

Joined: 28 May 2020
Posts: 69

Code:
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic  Reply to topic Goto page Previous  1, 2, 3, 4  Next Page 2 of 4

MQSeries.net Forum Index » General Discussion » 2035 while trying to load test using JMeter
Jump to:  



You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
Protected by Anti-Spam ACP
 
 


Theme by Dustin Baccetti
Powered by phpBB © 2001, 2002 phpBB Group

Copyright © MQSeries.net. All rights reserved.