Posted by Kim on Thursday, November 3, 2011
Sometimes when you have a function that you use alot, it might be nice to have it color coded in code like the other lr_* commands.
I looked for a solution to this for awhile but didn’t find anything relating to VuGen and Syntax Highlight things, so I started digging a little deeper into VuGen’s configs and came up with a half-way solution to this.
Read the rest of this entry »
Posted in LoadRunner | Tagged: LoadRunner, Syntax Highlught, vugen | Leave a Comment »
Posted by Kim on Thursday, September 29, 2011
Today I did this exercise with the Official HP LoadRunner v11 package.
And as was to be expected it wasn’t a simple click-click-go thing
Read the rest of this entry »
Posted in LoadRunner, Tips and Q&A | Tagged: Installtion, LoadRunner v11, Performance | Leave a Comment »
Posted by Kim on Tuesday, September 27, 2011
It’s now been two weeks, and the on-line ticket sales system is still not working as it should. All the sales kiosks in the whole country are now closed until further notice and the system is still slow, and has serious defects.
During these two weeks there has been some more information released to the public, both from the vendor (Accenture), the customer (VR) and the hosting company Tieto.
Among the more interesting ones:
Posted in Main | Tagged: defects, Performance | Leave a Comment »
Posted by Kim on Thursday, September 15, 2011
When I read the news today, I just had to share this with the Blog – This is such a good example of when things don’t go as planned.
Today there’s been big news-flashes on several Finnish news sites about the local train monopoly firm and their new web-based ticket sales system crashing under a heavy load. They had introduced a new online ticket sales system, and where literally overrun. The official comment from the company was (translated) “we where surprised to see such traffic amounts”.
Two of the articles: here, and here
Read the rest of this entry »
Posted in Main | Tagged: Performance | Leave a Comment »
Posted by Kim on Monday, April 18, 2011
I recently got Windows 7 x64 installed on my laptop, and as per information from HP LoadRunner v9.52 does NOT work with Windows 7, let alone x64 – So I got myself a Virtual Machine installed, where I have Win XP x86 for LoadRunner work.
Beeing a person who believes software should work in diverse environments, I also tried installing LoadRunner on the Win 7 machine, specifically Analysis and VuGen Read the rest of this entry »
Posted in LoadRunner | Tagged: LoadRunner, Performance | 9 Comments »
Posted by Kim on Tuesday, June 22, 2010
Most people do not know that LR supports overriding existing functions with custom ones in a very easy way.
I had a situation where I had a pre-made script that had fixed think-time values for the lr_think_time() calls, and they of course were completely wrong. So my problem was that I had a lot of lr_think_time() places and I didn’t want to go through them all myself. Read the rest of this entry »
Posted in LoadRunner | Tagged: LoadRunner, vugen | 7 Comments »
Posted by Kim on Tuesday, April 13, 2010
This article extends my previous post on Using a Custom DLL in LoadRunner and now shows by example how a DLL is actually created in Delphi and used from LoadRunner.
The DLL I’ll create here is a simple stub with a few basic functions and can serve as a template for any type of DLL that you want to create.
I’ll show how to avoid the most common problems of sending/retrieving strings to/from the DLL as well as how to handle the Unicode situation with D2009 and D2010 (LR is not Unicode enabled). Read the rest of this entry »
Posted in Delphi, LoadRunner | Tagged: Delphi, dll, LoadRunner | 5 Comments »
Posted by Kim on Sunday, April 11, 2010
Sometimes you want to grab a Session-Cookie or something else from the HTTP Header’s during a redirection, but normally LoadRunner does not allow you to web_reg_save() those if there are multiple re-directions, and the same “variable” appears multiple times. Read the rest of this entry »
Posted in LoadRunner | Tagged: LoadRunner HTTP Reirect | 7 Comments »
Posted by Kim on Tuesday, March 2, 2010
One of my colleagues at work was testing a solution that obfuscated passwords using the SHA1 algorithm, and was looking for a suitable solution to replicate this with LoadRunner. As I’ve used SHA1 before for other things, I promised to look around and see if I could help out.
As it turns out a suitable source was found and I made the necessary changes to the code to make it work in LoadRunner. A big thank you to Paul E. Jones for providing a free SHA1 implementation. Read the rest of this entry »
Posted in LoadRunner | Tagged: LoadRunner, SHA-1 | 7 Comments »
Posted by Kim on Wednesday, January 27, 2010
Just a quick post of a potentially useful function for LoadRunner. Read the rest of this entry »
Posted in LoadRunner | Tagged: LoadRunner | 1 Comment »
Posted by Kim on Saturday, January 16, 2010
I happened to see a blog post about Delphi Dying, and I definitely feel the need to say that “NO, DELPHI IS NOT DYING” (at least not for me)!
It’s still my tool of choice for any kind of development, be it server or client . I’ve seen too many issues with both performance and stability when it comes to Java client apps… Just the other day I had a time tracking software (written in Java). Didn’t work anymore for no reason whatsoever, worked yesterday. Had to downgrade the to update 7 to get it to work.. Just a total PAIN IN THE BUTT with all those update this and update that things .. How hard can it be to get the freaking java-code to work with different updates .. I just don’t get it .. but enough of rant on that for now ..
This also merits a small example of why I think Delphi is good: A buddy at work seemed surprised that I made a TCP Port redirection Desktop app in less than a day, with all the UI parts and load/save things. He used to do lots of Java coding (on the server side) and just seemed to be surprised that with I D2010 managed to complete the app in so short a time?!
I think this goes to prove that Delphi really is an excellent RAD tool that produces fast & reliable code without the need to deploy anything but the .exe itself (= no dependencies on update packs
).
I’ve always been, and always will be a Delphi developer.
Posted in Delphi | Tagged: Delphi | Leave a Comment »
Posted by Kim on Sunday, January 10, 2010
In one of my recent assignments I was asked to investigate how the SMTP vuser type behaves in LoadRunner. The need was to send alot of EMail messages to a SMTP server, and specifically the CC and BCC fields where important.
As it turns out the SMTP implementation in LoadRunner (v8.1 and v9.5x) does not quite follow the standard when it comes to the CC and BCC headers. Read the rest of this entry »
Posted in LoadRunner | Tagged: dll, LoadRunner, smtp | 2 Comments »
Posted by Kim on Wednesday, December 23, 2009
In one of my recent projects I stumbled upon an interesting problem situation with the HTTP Authentication mechanism.
I had a Machine to Machine (M2M) interface, where clients used HTTP authentication to identify themselves to the server while sending data. In this scenario there was no HTTP 401 response from the server, because the client included the authentication info in the initial request. Read the rest of this entry »
Posted in LoadRunner | Tagged: http, LoadRunner | Leave a Comment »
Posted by Kim on Wednesday, September 30, 2009
Recently I had the need to decode a Base64 string received from a server and in the process I created an include file that contains both Encode and Decode functions for base64. Use & Abuse as you see fit! Enjoy! Read the rest of this entry »
Posted in LoadRunner | Tagged: Base64, LoadRunner | 22 Comments »
Posted by Kim on Friday, September 11, 2009
And so ends the summer & vacations and work begins … Back at the desk solving some the performance problems of the world.
Posted in Main | Leave a Comment »
Posted by Kim on Saturday, August 8, 2009

A well performed Golf shot
Yes it’s true, I’m on vacation and not really doing very much at all … at least no real performance testing work!
But I’m active with planning the future for my company, and so we changed our Celarius.com look to more match the new comapny vision. In the near future I will start writing blog articles on the celarius pages as well as here, but they will be more from a commercial standpoint. This blog still remains as my private projects/discoveries etc blog..
And as it is summer and and I performed outstandingly on the golf-course on Friday I just have to include my opening shot on a 150 meter PAR 3 hole. The ball landed 15 cm (6″) from the flag, and my birdie was assured! The Birdie-whiskey we enjoyed afterwards was better than usual!
I hope you all have had a good summer and recharged your battires for a potentially demanding fall’09 !
Posted in Main | Leave a Comment »
Posted by Kim on Friday, May 8, 2009
I’ve had my poll for “Which LoadTesting tool do you use most?” open for some time now, but unfortunately there has been a very low level of participation, and therefore I now ask you to please participate and let us know what tools you are using!
Posted in Main | Tagged: Performance, Poll | 2 Comments »
Posted by Kim on Friday, March 13, 2009
Sometimes it is necessary to process parameters in LoadRunner after they have been “captured” using web_reg_save() or similar methods. There is no built-in function to do this, and I’ve seen multiple horrific attempts at different kinds of Search & Replace methods over the years.
In light of this I decided to post the source for my working solution that does not eat memory, is fast and is LoadRunner parameter friendly. It can be used by anyone who has worked with LoadRunner before! Read the rest of this entry »
Posted in LoadRunner | Tagged: LoadRunner | 22 Comments »
Posted by Kim on Tuesday, February 24, 2009
Sometimes LoadRunner does not provide all the needed features that one needs when doing performance testing. One option is to write DLL’s to handle the needed stuff and writing your own custom DLL’s is really easy once you get the hang of it!
I needed to do a few HTTP calls “under the radar” from a script so using Delphi 2009 I wrote my own HTTPClient DLL that allows me to do a HTTP GET to a specific URL without adding to the statistics (Pages and Hits/Sec stats). Read the rest of this entry »
Posted in Delphi, LoadRunner | Tagged: Delphi, LoadRunner | 15 Comments »
Posted by Kim on Tuesday, February 3, 2009
The last few days I’ve spent optimizing an application written in Delphi 2009 that talks to a Firebird database using the standard TIBDatabase, TIBTransaction and TIBSQL components The application needs to do alot of reading/writing to the database, and was rather slow so I had to optimize it a little … Read the rest of this entry »
Posted in Delphi, Firebird | Tagged: database, Delphi, Firebird | 15 Comments »
Posted by Kim on Saturday, January 17, 2009
As soon as I was able to (the download surge killing Win7 downloads prevented it for a while) I downloaded and installed 2 copies of the Win7 beta. One was on an old 3GHz HT Intel with 2Gb mem and the other on a Virtual PC inside my QuadCore Vista ultimate machine.
The installation was smooth on both, took about the same time and I was amazed at the lack of problems along the way. Both recognized all hardware components without problems and everything seemed fast on the GFX level even when I was using a VGA mode for both (no seeing any GFX specialties).
I next installed Firebird v2.1 (latest stable) and it insalled without problems as well on both machines. I didn’t have much time to play around with the OS but the little I did showed me a stable well working system with very little or no hichups at all.
In my personal opinion this Win7 will be a hit-OS in the future. It feels fast and looks good and I see no reason for me to start looking into alternative OS’s in the future. If drivers and programs are made compatible with this Beta I suspect they will work well with the official release and if MS adds WinFS or other enhancements to it later they will likely not break the compatibility in any way.
I for one will surely use it in the future! And a s bonus it seems my Delphi 2009 programs are also working flawlessly on it!
Posted in Main | Tagged: Delphi 2009, Firebird, Windows 7, Windows Vista | Leave a Comment »
Posted by Kim on Friday, December 12, 2008
I recently had the opportunity to test a SAP Enterprise Portal (web interface) with several different tools. I used both LoadRunner and QALoad, but in the end the customer chose LR for this, since scripting was somewhat easier in LR.
The performance of the EP portal is fairly good when it comes to communicating with the server on a HTTP protocol level, but boy was the customer in for a surprise when they actually used the interface. Read the rest of this entry »
Posted in Main | Tagged: LoadRunner, QALoad, SAP | Leave a Comment »
Posted by Kim on Thursday, September 18, 2008
When testing enterprise grade web-based solutions there is often a company-wide LoadBalancer present that is a black-box from the testers point of view. Bypassing the LoadBalancer during testing is usually very important to be able to determine one servers limits or capacity.
There are however situations where the LB’s need to be simulated in a controlled way, and having the load share known and controlled during testing. To achieve this there is a simple trick that can be used in LoadRunner scripts. Read the rest of this entry »
Posted in LoadRunner | Tagged: LoadBalancer, LoadRunner | 10 Comments »
Posted by Kim on Wednesday, August 27, 2008
While on vacation I’ve been working on a pet-project that has been around for many years now. The service is a mobile device chat and is powered by Firebird and PHP.
There used to be lots of problems handling more than 400 simultaneous users, but after a DB upgrade to Firebird v2.5 Alpha 1 things really look different.
Previously the DB machine (Dualcore) had one of the CPU’s running at 100% and the other not doing much (FB was Superserver) but after the switch the TOTAL CPU now ranges between 10% and 50% on the DB machine. At the same time the WebServer CPU load also decreased and is constantly under 60% where it used to be over 95% all the time!
So by just switching to the new DB engine a tremendous performance gain was achieved! Also a lot less errors are reported to the PHP error logs. The ones still coming are a deadlocks, but around 30 / 24h which is a lot less than it used to be!
To the Firebird team I want to say “THANK YOU for making a great database engine” !
Posted in Firebird | Tagged: Firebird, Performance, php, SQL | 7 Comments »
Posted by Kim on Wednesday, July 16, 2008
Adding to my previous post on Apache, PHP and Firebird performance I have now achieved a new higscore of 155 pages/sec!
In order to achieve this I had to tweak the SQL statements a little (removed the UPPER() parts), modified the firebird.conf a little and moved the DB to another T61p (DualCore 2.2 GHz) machine. Read the rest of this entry »
Posted in Firebird | Tagged: Apache, Firebird, php | Leave a Comment »
Posted by Kim on Tuesday, July 15, 2008
During my testing of the Firebird Performance I encountered a strange issue with the UPPER() command in SQL statements. Using the UPPER() command my SQL queries suddenly consumed 100% CPU from the server. All transaction times spike from 1-2 seconds to over 10 for the login operation, and the CPU on the DB machine goes to 100% flat instead of jumping between 30% and 90%… Read the rest of this entry »
Posted in Firebird | Tagged: Firebird, SQL | 2 Comments »
Posted by Kim on Monday, July 14, 2008
In the last post I commented that I had a test-bed application, based on Apache, PHP and Firebird, and once the problem with the images was solved I could finally start doing the actual performance testing/tuning that I originally wanted to do.
The only major changes from the last post is that I’ve now upgraded the database engine to the “Firebird v2.5 Alpha 1” that supports SMP, and that the application now contains more base data in the tables. Read the rest of this entry »
Posted in Firebird | Tagged: Apache, Firebird, Performance Tuning, php | 3 Comments »
Posted by Kim on Thursday, July 10, 2008
Today I had a really interesting and strange problem with the Apache WWW server. It served images very slowly under even light loads and there was really no explanation for this. The CPU on the host machine almost idle and network throughput was nominal too.
After some digging on the internet I found other people also had had this problem, and had suggested various methods to remedy this, like enabling caching and putting images on a separate machine and disabling the KeepAlive feature. Read the rest of this entry »
Posted in Main | Tagged: Apache, Firebird, KeepAlive, php, SQL | 3 Comments »
Posted by Kim on Friday, May 30, 2008
So here I am, sitting in a bar, at an airport, trying to figure out why my flight is over an hour late …
It occurs to me that the processes involved with flights are probably the cause of this, and it dawns on me that a poor process is as much a performance bottleneck as a poorly written piece of software is !!!
The flight was late, according to the lady at the counter, because it left late from the previous airfield. That was something I had figured out by myself, but this seemed to be a perfectly acceptable explanation for her. I of course wanted to know WHY the plane left later than scheduled, but that was something she could not help me with. Read the rest of this entry »
Posted in Main | Leave a Comment »
Posted by Kim on Wednesday, May 14, 2008
I won’t go into the details of the specs of the hardware or OS, since there is no reliable way to compare two different systems against each other, but the relative performance on the tested system gives a very good insight as to how it will behave on other systems as well.
I also want to stress that the SOAP API is not the same as the web/desktop client, and may use a different communication model on the server side. The results ARE NOT comparable to the web or desktop client response times.
Read the rest of this entry »
Posted in Main | Tagged: API, Scrumworks, SOAP | Leave a Comment »