d3 benchmarking or performance routines

143 views
Skip to first unread message

David Knight

unread,
Oct 8, 2018, 9:28:54 PM10/8/18
to Pick and MultiValue Databases
Hi all,
I did a quick search, and couldn't find anything....
I need to create a d3/win routine to run some performance bench-marking to compare two of my client sites.
I can 'roll-my-own'; but I'm hoping someone has already created a shell I can pinch/modify.

I'm looking for something to which is a d3 utility which will pretty much thrash the database for all the typical aspects of a system such as reads/writes which I can run on two separate systems for a head-to-head relative comparison.

I can use this as a start for a larger discussion about the relative performance of two systems. As you can likely guess, I have two clients each largely similar in terms of data volumes and identical in terms of application software; but using quite different underlying technology. One client is complaining, the other is not.

So, I need some hard facts, and I'm working on a set of tools to test the various layers both in a theoretical manner, but also an application-specific manner. Now, you guys cannot help me with application-specific stuff; but I'm hoping someone has, or knows of, a databasic routine which I can grab.

Ideas?

Ta,

David

Peter McMurray

unread,
Oct 9, 2018, 6:30:30 PM10/9/18
to Pick and MultiValue Databases
Hi David
I rolled my own and D3 Windows on Intel is spectacular.
The setup I used was to open about 10 sessions and fire off a routine doing random reads and writes to a file with a million records. Each record about 250 bytes.
On a cheap I5 processor machine I was getting around 10 hits a millisecond per user and on an Intel I7 with 12 Gb of ram that more than doubled.
I also have  a very large pricing routine. After discussion with Raining Data I dropped the idea of keeping the records small as they considered a 10,000 element array very small.
There are a few products, diesel and unleaded fuel, that cover 90 % of the sales and produce tens of thousands of credit card sales per month. All bulk sales are priced from midnight and small vehicles from the minute.
These prices are used by everyone all the time. I use Mat arrays with the latest prices first and nobody has noticed with the price record hitting the 150 to two hundred thousand byte mark.
By the way one clown who thinks he knows SQL told me that a Windows file cannot handle more than 10,000 records. All my fies are NTFS :-) I will archive some of the older prices soon but having all the dates available immediately has been welcomed by the client.

David Knight

unread,
Oct 10, 2018, 6:47:41 PM10/10/18
to Pick and MultiValue Databases
Hi Peter,
Absolutely no argument from me on that count!! My experience always has been and continues to improve that d3 on WinTEL is spectacular!

My issue was I needed [need?] to demonstrate that differences in perfomance between two clients is largely because of their choice of IT infrastructure.

My app is d3/win built with designbais & uses IE as the client. Previously it was d3/win built with early SB+ & uses Hostaccess terminal emulator as the client.

Two of my clients migrated from old to new; one decided to upgrade their entire IT server/client/lan system; and the second decided to leave things alone. BUT the real kicker is when one considers the fundamental IT architecture.

First client has in-house upgraded hardware: Thumping big purpose-built server, running a few vm's but with each vm allocated fixed resources; and then umpteen [there's a lot] of physical desktop PC's on a traditional LAN. It's a screamer. Second client wanted to remain on their server, but with 'virtual' desktops all running as concurrent RDC sessions off a second dedicated server. Similar concept to 'Terminal Services'. The point is, you've got umpteen clients all trying to run off the one piece of hardware. To make matters worse, they then decided to plop both the main server & the RDC server into the cloud.

So they went from lightweight character mode terminal emulators to graphically intensive IE clients; multiple instances all trying to run on the one chunk of [virtual] hardware.

Naturally, when there is an IE graphically intensive process running [as is the case when IE is basically formatting the display]; response times plummet.

Of course the client is blaming the software systems.

So, I wanted to find some tools to benchmark these two systems for direct head-to-head "comparo" at each level of the entire IT chain. I've done it for the servers with some startling results. Also I built a pretty crap d3 routine which basically showed that d3 was fine in terms of it's processing; although more grunt would always be better. I have no idea how to benchmark IIS on each server; but that just leaves the clients. I've already demonstrated that the client is struggling under IE, unless it has grunt.

Fortunately, I have been able to 'tweak' the specific web forms which are the slowest; and help them get back to a level of performance they find acceptable. But the fundamental issue remains, and I'm afraid it will come up time and time again as the system grows: their IT setup is inappropriate, and that was their choice.

Cheers!

Peter McMurray

unread,
Oct 11, 2018, 3:50:54 PM10/11/18
to Pick and MultiValue Databases
Thanks David
For Confirming what I have been telling people just this last month. The choke point is the Cloud connection. In my case they do drone mapping then send terabytes of map data to large properties for the regular laser levelling - yes the land changes after each crop due to the water flow.
Plus there is nothing faster than a local terminal based system for data entry users. Diving for the mouse and Tab instead of return are a bad idea.


On Tuesday, October 9, 2018 at 12:28:54 PM UTC+11, David Knight wrote:

ERNIE VEGAS

unread,
Oct 14, 2018, 6:07:25 AM10/14/18
to mvd...@googlegroups.com
There used to be a standard verb used to do CPU speed tests called
ADDS-SPEED-CHECK. It worked great in the old days when computers were
fairly slow. It stopped working good when computers got to be really
fast, since it would finish in the blink of an eye instead of take
seconds to finish. I had to modify it to work slower to get any useful
data once at a job site when I was testing before upgrade and after
upgrade speeds:

*ADDS SUPPLIED - RELEASE 2.2. PLEASE DO NOT ALTER
* ERATOSTHENES SIEVE PRIME NUMBER PROGRAM - DATA BASIC
* JANUARY 15, 1986
*
EQUATE SIZE TO 1024
DIM AA(1024)
PRINT
TIM=SYSTEM(12)
FOR NN=1 TO 10
MAT AA=1
VV=1
FOR II=1 TO SIZE
VV=VV+2
IF AA(II) THEN
FOR JJ=II TO SIZE STEP VV
AA(JJ)=0
NEXT JJ
END
NEXT II
PRINT "+":
NEXT NN
PRINT
PRINT (SYSTEM(12)-TIM)/1000:" SECONDS"
END

Nowadays you would probably want to build a suite of programs and make
it comparable to something like CHECKIT or CHECKIT PRO, as far as
creating a standard index to compare systems with.

Robert Norman
ROBERT NORMAN AND ASSOCIATES
> --
> You received this message because you are subscribed to
> the "Pick and MultiValue Databases" group.
> To post, email to: mvd...@googlegroups.com
> To unsubscribe, email to: mvdbms+un...@googlegroups.com
> For more options, visit http://groups.google.com/group/mvdbms
>

Peter McMurray

unread,
Oct 14, 2018, 4:37:08 PM10/14/18
to Pick and MultiValue Databases
HI
I think that the issue is not the speed of D3 on the disk but the speed of the display on the cloud. That is why it is harder to prove.
In my case the people have put the Domain name on their own machine  running outdated Windows Server 2008. Therefore every thing is going to slow down even though my stuff is on a Windows 10 current platform email is clobbered.
When you throw in the high volume of data needed to support a screen in a WYSIWYG Web environment the whole thing comes down in a heap when you are dependent on Wireless data.
Please note a large part of the world does not have Fibre to the premises or unlimited data.
I think that the only way to get around it is to have the screen definitions and interface stored on each local machine. Easier said than done now doubt.


On Tuesday, October 9, 2018 at 12:28:54 PM UTC+11, David Knight wrote:
Reply all
Reply to author
Forward
0 new messages