Introduction
The HireTrack NX Server is powerful and very efficient, but to perform well it needs to run on a File Server machine that is also fast and efficient and not under too much stress from demands made on it by other applications. If your file server is sub-optimal you may experience poor performance in HireTrack NX and should this occur the first port of call should be to take a look at the file server and do some tests that check how well the the NX Server performs with a simulation of various number of users. To do this we have written our "Server Stress Test" application which can be downloaded from here.
There is no installation, just unzip the application and run on a workstation or remote desktop that normally runs HireTrack NX.
IMPORTANT!
- We don't recommend that you run this tool on the NX Server machine UNLESS this is also your remote desktop machine (Using the same machine for the NX server & Clients is not usually recommend).
- You should not run this application while other users are using HireTrack NX: it is designed to stress the NX Server and it's host and if users are also running HireTrack then i) they will suffer unsatisfactory performance, and ii) the results of the test will be distorted.
- Depending on what options you select on the test app, it can take some time to run, anything between 3 mins and several hours!!!
Running
Once the application is run, you will be presented with this screen:
In the Server IP box, enter the IP address of your HireTrack NX server. The Server Port & Server Name will already contain the default values for running the programme on the file server; if you are running from a workstation (recommended) change them accordingly (you would normally only set the IP address and you can find this out on the NX Server's web portal if you don't know it
Similarly the Username & Password will contain the default ones, enter yours if different.
Once entered, click the Connect button.
This will connect to the NX Server and the Selected Alias drop down will be populated.
Select an Alias. The alias is simply used as a location to store the temporary tables used by the test app. It doesn't matter if you select a live or training database, no HireTrack NX data is used. If you have aliases stored on different disks, then you may want to run the app several times, once per disk.
Next set the Max No. Clients - this is how many active users you want to test with. By active users we mean users actively using HireTrack NX, rather than just being logged in. There's usually some diversity in how your HireTrack users interact with HireTrack, so even though you might have 10 users logged in, you might have 2 prepping kit, scanning barcodes every couple of minutes as the kit is prepped, 2 returning kit via general returns, scanning barcodes continuously, someone looking at this weeks invoices, a couple of people quoting jobs and 3 people on the phone or grabbing a coffee. So from a diversity point of view, this is probably equivalent to 3 or 4 active users.
Once done, press the Run Test button.
You will get a warning explaining that this will lock up the server for a period of time. The duration given is an approximation based on an average server, yours could take longer.
Click Yes and the test will start.
The app will carry out four tests for each client a number of times. If you selected 5 for the Max no Clients, the tests will firstly be run simulating one client, then they will run again simulating two clients, then three, four & finally five. After each set of clients the scores will be displayed before the next pass starts.
The tests carried out are:
- Processor
- Disk Writes
- Disk Reads
- Database Locking
Whilst a test is taking place the application will give the impression that it has locked up. Do not worry about this.
Results
Once the first round of tests has completed, the Score will be displayed. A score lower than 5 will be displayed in Red and this indicates that the server's performance with just one client is considerably lower than acceptable. A score of 8 or more indicates that the server is performing within spec for one user.
The graph will update after each round of tests.
When all the tests have been completed the graph will look something like this.
The score of 3 indicates that your server machine is well below par, and the graph shows how much more the machine struggles as the number of users increases. This could be due to Antivirus scanning the database and should be excluded from scans as these are not executable files.
A 'Good' result is in the region of 18-22 which means the server is offering as much performance as the clients can handle and any slow down may be due to network traffic.
Comments
20 comments
A 3 for me.
It seems as though the Processor test is what is bringing my score down. Its a quad core at 2.6 GHz though, and when the test app is running full speed I only see 40% CPU being used and lots of RAM still available.
I'd be interested to see how others score.
Hi Keith
The processor thing is interesting (I'm assuming you're talking about the server). As it's a quad core, then a single client test will use just one core, so should use 1 core 100% or the whole processor 25%. This would mean that you could run four queries/clients simultaneously and get the same experience from a processor POV.
The memory makes no difference from the performance measuring point of view - the extra memory would be normally used to cache disk reads, but the read speed of the disk is so much higher than the write speed of the disk that it doesn't contribute to the overall score.
From a score POV, we develop here using a machine with a score of 5, but we test on a machine with a score of 3. so although 5+ is ideal, lower may also be acceptable. It's a difficult thing to judge too as someone quoting will probably be happier with a lower scoring server than someone that's trying to push 1000's of barcodes through the system very quickly.
Thanks David. I see what you are saying. I had always looked at the overall processing (that 40% or less) and thought I was good since I saw plenty of headroom. But it is true that if it works as one client per processor, then it is the performance of each individual core that matters. In my case, this machine is getting a little old, and that 2.6 GHz is when turbo boost is applied. It could be time to start looking into something new.
That said, I never really saw any performance issues with the NX Server, and we are generally running 6 or 7 clients simultaneously (along with other network based software as well). Maybe it could be slight bit more snappy? Hard to say. But if I had not scored a 3, I wouldn't have thought anything of it.
David, can you list some of the specs for the server you have that scores a 5?
Is Hiretrack NX a multithreaded application? I'm shopping for servers and am trying to determine if I should go with a processor that has a higher clock speed, or more cores. It sounds like since the tester app is only using a single core for the test, then its likely a single threaded app that would benefit from a higher clock speed per core rather than a whole bunch of cores that are slower. Is that correct? I'm basically comparing the Intel Xeon Gold 6134 chip to the Xeon Gold 6140 chip. It would seem that the 6140 scores much better in a benchmark test, but the 6134 is clocked much higher and therefore maybe better for an app such as Hiretrack. Any thoughts or opinions?
HireTrack NX client is pretty much a single threaded app though HireTrack NX server is fully multi-threaded.
As for the difference in chip, not an area I know much about, but will ask a colleague.
Thanks David. I have settled on the Xeon Gold 6140. While the clock speed isn't as high as the 6134, other features such as the cache make the 6140 a far superior performer regardless of the clock.
Our new server scored a 9 with the test app. 👍
I assume that 10 is the best possible score?
Keith, did you just upgrade your processor or your drives as well?
We bought an entirely new server, and I concentrated on the best performing processor, drives, memory, and cache that I could within a reasonable budget. The drives on my old server still performed reasonably well, but the truth was that the old server is nearly 9 years old, and David's app exposed the fact that alot of that internal hardware is outdated by today's standards. The number of processing cores, buss speeds, memory speeds, and cache sizes were where my old server had laughable specs compared to today's machines. I did upgrade the drives with the new server, but the jump from the 3 to the 9 in the server test app was definitely due to the rest of the internals.
Keith, in a slightly cheeky way, would you mind sharing / emailing the link to the server that you have researched a purchased?
andrew@enlx.co.uk
Have you noticed a step change in perceived performance too?
Kind regards
Andrew
The specs on my new server are listed in the thread here:
https://navigator.zendesk.com/hc/en-us/community/posts/360028695533
As for seeing a perceived performance boost, I will get back to you on that Andrew. I have transferred just about everything else besides Hiretrack over to the new server. Hiretrack will happen tonight. We do see a definite improvement in all of our other network based software packages like Quickbooks though, so I am optimistic about seeing an improvement with HT as well. I have installed the NX server and a test database though, so that is how I was able to score the 9 with the test app.
Thanks Keith. Good luck for tonight.
How many users do you run on your system? We are licensed for 26. Running the test utility at 10 users I'm getting a score of 8 - much to my surprise! Just pressed start on 20 concurrent users...
I've also not had the courage to implement the email features since they were rolled out. When I first tested this feature it seemed to suck all server capacity we had.
Andrew
We have 9 Hiretrack licenses, so I ran my test for up to 9 concurrent users. I'm sure it would score well beyond that too. I have 20 cores in the processor, so I'd probably score the same until I got to over 20 users. They would start sharing the processor cores at that time. An 8 is good, so it sounds like your server is still healthy.
As for the email, ours are all direct imap accounts so our server isn't involved. You must be running Exchange or something.
@David Rose, is the resulting score always based on a user count of 1? I get a score of 8 regardless of the user count.
Do you have any guidelines in mind as to what "Score" (left-hand scale on the graph) are appropriate for larger user counts?
I suspect you do not want us to be getting hung up on score results - but it would be good to know that what we are trying to do with our hardware is sensible.
Many thanks
Andrew
Yes, the score is always based on one user - this is the best performance a user can expect. If that's below 5, then the experience for even one user will be below par.
The values on the Y axis are time taken to complete the task with the number of users running it simultaneously.
So for the Processor test the query does 2 ^ 30 (i.e 2 x 2 x 2 x 2 ..25 more... x 2 ) 5 million times.
If the test is for two users, then both user will be trying to do this at the same time, etc. So this measures a combination of how fast the processor can "do the maths" and how well it manages the multithreading.
For a genuine multi processor machine I'd expect the time taken by pairs of tests to be the same e.g 1 user or 2 user should take the same time, then as multi threads/cores get added in, I'd expect some jump at the core change level, e.g for a 4 core processor, there will be an increase in time taken from 1 to 2 to 3 to 4 users and then a jump in time taken for the 5th user etc.
Of course the tests are done on simultaneous users - that is users acting on the database as the same time, which isn't the same a licensed users. User 1 opening an equipment list and then a second later User 2 opening an equipment list, is probably, in database terms, just one user's worth of stress, whereas 4 users scanning barcodes simultaneously is quite probably 4 users worth of stress.
I've just uploaded a new build of the app (1.0.0.20) that now calculates the Score for each iteration, so should hopefully give a better indication of how your server will cope as it's loaded with additional simultaneous users.
I'd be interested in some feedback.
Hmmm. I don't think the new version of the test app is calculating the individual scores properly. I still have an overall score of 9, but some of the individual scores are 1's and 0's.
Do you want to copy the log tab info in to a support ticket and I'll take a look
Very interesting app and results, thanks. I can see that the server side multi threading is working very well as the number of cores at max usage matches the number of users simulated. So far I haven't got past the point of more users than cores, need to wait for more time to test.
Is there anyway you add functionality to start at say 15 simulated users and then max out at 25 etc.
Thanks
Please sign in to leave a comment.