How to use the Performance Measurement Tool.

Hi readers,

Before we start, I have a short story for you all…

A colleague of mine and I were discussing a Case one day. He was explaining to me how he was having trouble getting the performance tool to run to analyze a Performance case for a client. I told him I can show you how it works, as I was thinking to myself, “It shouldn’t be that hard to run. I mean, there is a whole set of Knowledgebase Articles on how to use it, schedule it, and review the log files.” Side Note: You can find the main KB Here. Anyways, so he’s showing me what he’s doing and for some reason or another he goes into a tangent and is renaming the files  and copying stuff…. Long story short, he more or less breaks the ADOTRT function by accidentally overwriting it with the performance *.adx files. After restoring the dataset and reviewing the problem, we discussed what happened. What the issue was, was that the KB was not clear enough and when running through it he got confused by the wording and was renaming stuff. So, we fixed that like ASAP. After we were all done, he was like, “You should probably write a blog post about this, so it doesn’t happen again.”   

And here we are…   (You know who you are and thank you for the idea!)

So, there’s two different scenarios that I’m going to show you all. One way, or the old way, of running the Performance tool and the current or new way to run it. So, the old way to run it requires some extra steps where the new way is integrated into the system so just have to run the process, no setup needed. I will be demonstrating both, but we will start with the old way of doing it. To start, we are going to look at KBID # 75064 called “What is Sage X3 performance measurement tool?” The KB has all the information you will need. I am pretty much just going to run through this KB and show you all how it is supposed to work. Essentially the tool is used to test the performance between the Runtime (AKA process server component) and the Database Server (typically MS SQL or Oracle DB). Then it spits out some benchmarking numbers and you compare them to the table of good vs. bad on the KB and see if you need to improve your response time between the servers. Not too complicated. I won’t go into a lot of details as the KB explains a lot. Anyhow, let’s get down to business…


We’re going to start with the KB and we’re going to focus on the first section which is for Version 6 through 11. This is considered the old way of running the performance tool.


Above are the steps we are going to review and run. The first couple bullet points are referencing ZX3IOBENCH_V2 and 2.6. these are source files listed at the bottom of the KB (scroll to the bottom of the page) that you have to download. For my example we are going to use the V2.6 because I am going to use a Version 11 machine to show you. If you were on Version 6 (which I would think is unlikely as its super mega old) then you would use just the V2 file.

At the bottom of the KB you will find the files:


If you can download it straight onto the application server, that would be the best scenario. If you cannot, then make sure you copy it over to the application server. It should be very small file.


Next, we are going to navigate to the ...X3\TRT directory on the Application server and copy the ZX3IOBENCH_V2.6.src file to that …X3\TRT directory.


Once the ZX3IOBENCH_V2.6.src is in the proper place, we are going to rename the file by removing the _v2.6 so that it looks like this ZX3IOBENCH.src instead of ZX3IOBENCH_v2.6.src.


Now we can go log into Sage X3. After you get logged in, change the Endpoint over to the X3 Reference folder Endpoint.

Note: if you do not have access then talk to your IT administrator or locate someone who has access to get you access or you cannot go any further. Also, I probably should have noted that at the beginning of the blog that you need X3 folder access. My Bad…


Anyways, go to Development, Script dictionary, Scripts, Script editor and launch the Script editor function (ADOTRT).


The process script function should load a popup looking screen code. Here you leave the defaults and just type ZX3IOBENCH into the File name field and tab out. If done correctly it should pull up the Performance tool coding like this:


From here we are going to hit the Compile button from the right list.


If nothing happens that is a good sign. It only displays stuff when there is an error. Now you can double check by going to the same …X3\TRT directory and look for the ZX3IOBENCH file. If it worked there should be two files; one that ends in *.src and one that ends in *.adx.


Now we are ready to run it. Close out of the script editor and then navigate to the run process function. Run process can be found under Development, Utilities, Miscellaneous (EXETRT).


On the Run process function we’re going to type in the performance tool source file name minus the extension then click OK button.


If everything goes well, you will get the “Spinning Wheel of Death”. Don’t freak out, just let it finish, it usually takes 5 minutes or so to finish.


When it finishes you will get a log file like so:


This log is also kept in the ...X3\TRA directory. Just look for the name of the file that corresponds to your Trace log file. In my example my screenshot says Log Reading F54. So, there should be a *.tra file that’s called F54.tra in the ...X3\TRA directory.


If you open the *.tra file it should show you the same information as the Log Reading function.


I personally like the raw *.tra file better than looking at the file(s) through the log reader thing but it’s up to you all how you want to view them. Once you have the file open go all the way down to the bottom. At the bottom is where you will find the information we really need. You want to find the “LEGACY - PERFORMANCE INDEX” section and you are specifically looking for the “LEGACY - PERFORMANCE INDEX” value which should be in seconds. Mine is 112 seconds.


Now, we take that number and compare it to the chart on the KB. This cross reference will tell us where we fall in terms of performance and if we need to further investigate. Here is what the table currently looks like. I know, there is two rows that say, “Check with your IT to improve”. That second one (more than 800 seconds) used to say something that I cannot repeat so we just copied over it.


You will also notice that there are two columns, one for single-tier and one for multi-tier. Majority of you all will fall into the multi-tier category. Single-tier is when all components are installed on one machine and multi-tier they are installed across multiple machines. Anyways, that topic will be for another time, we are just utilizing the chart to see where we fall. Pretty much if you are 120 or less for single or 300 or less for mutli then you are in the OK range. The reality is that its far more complicated than that, but for simplicity, that is the major divide line.  When tackling performance, it is best to get that index number as low as you possibly can. The lower the number, the generally better performance you Sage X3 product will have. I won’t go into details on troubleshooting performance, as I want to save it for another blog / follow up topic to this blog.


Anywho, that’s how you would run the original old way to run the performance tool. Now we can get into the newer way to run it. The newer way is even simpler as it’s built right into the system. Starting around Patch 24 of Version 12 (I may be off by a patch number or two) the source code is included with the install and all you have to do is invoke it. Using the same KB from the beginning of the blog, you will have steps on how to use it.

What we are going to follow:


So, if you are on Patch 25, you can run it both ways if you would like. Both the run process and the function itself are both there to be ran. You will get the same results. I am going to be using a Patch 25 machine to demonstrate the new function way to run it.

After logging in you will want to navigate to the Performance Index function, just as it says in the steps from the KB.


It should take you to a screen like this:

You can see that I have already ran it once just to make sure it works.

From here you can click on the execution button and run it.


It should popup with a yes /no question before it actually runs.


Once it finishes you should get the same log reading function and it will also add the results to the grid.



You can also use the Dedicated export button to export this grid to a *.csv file.


As far as I know, you can run it and record as many rows as you want. But remember, you don’t want to run it during business hours as it may cause slowness issues as its very heavily testing the connections. If you want to learn how to schedule the performance tool to run via batch, we have a KB on that right HERE.


And that’s it for today’s blog. If you want to learn more about performance, stay tuned for next time when I discuss what you do with this information and more troubleshooting stuff (or you can read the kb).


Until next time…

Addendum to my Blog.

There is a new chart out for comparing the results. So I have added it below.