From: Daniel S. <dan...@ed...> - 2003-07-25 21:20:32
|
Hi Neto, as Steven already pointed out, it is very hard to directly try to simulate users. Let me exlain a little bit more in detail what I mean by that. First we should define what we are actually talking about, when we are using the term "Business Applications". There are a lot of applications out there which are all in some way specific - so I will point out some characteristic ones: 1.) Major ERP systems like SAP for example are typically storing their data in a huge database. In such environments, the I/O is dominated by the database. The users are "never" hitting the storage directly, they are "aggregated" through different levels / tiers. The clients are connecting to one of the different application servers. The requests are processed by a dozen work processes on each application server (so for instance you have 20 work processes on an application server who serve hundreds of users in parallel - the factor will be influenced by the think time of the user as well as the load produced by each request), so here is the point where your users are serialized. The work processes then are all connecting to the database (or maybe do connection sharing) and pass SQL statements to it. The database itself encapsulates its I/O as well. An important point here are the buffer pools (some databases systems supports only one). Every read (depends on the database system as well) is going through the bufferpool, so the requested page a.) might be already be in the bufferpool or b.) realy needs to be read from the physical disk. The physical reads are done with a predefined number of readers (influenced by the number of data files, spindels etc.) - don't underestimate the role of the optimizer and its decision about the access path here. The new or modified pages are normally written to disk in a asynchronous manner (if the bufferpool is big enough). But the changes are logged to the redo logs as well and this is done synchronously (that disks are candidates for hot spots). So in this environments it is realy hard to figure out which action of an user has caused which I/O. Here you should not think about to simulating users, but to simulate a database with a certain load. From a key figures point of view you should have a look for the maximum number of I/O per second, but again what does a number <n> of I/O's per second realy say about the end users satisfaction? 2.) Data warehouse applications are totally different beasts. The common thing is that they are also using a database. These databases are typically much larger, their data are striped over as much spindels as possible. But the good thing is, that the number of users is often much smaller. There is also a much higher relation between a specific user and the I/O produced by its submitted query. The bad news is, that a data warehouse can be seen as a tool kit. A single user can utilize the whole system for hours by submitting a unselective query, but a well formulated query might return within seconds. So the variance is dramatic compared to OLTP systems where you have a large number of users running through the same business process / transaction. So here you can simulate users, but you have to define what this user is realy doing (and how many concurrent users you are going to simulate within your scenario). From a key figures point of view you should have a look for the maximum number of MB per second. This value (as one of many) is directly linked to the response time for the end user. 3.) File server... 4.) Streaming... Having all that sayed, I would recommend that you define what your scenarios should look like. Which kind of charateristics does your fictive business application have? Which key figures are important therefor? Also trying it the other way around - how much "performance" do the application need from the storage system? I hope that helps (knowing that this is not the answer you wanted to have) Regards Dan > Dear Friends, > > I almost finish my MsC and my thesis is Performance on Business Applications using iSCSI Protocol. > I will compare iSCSI versus FC and I will use IOMETER for this. > > My questions is : How do I configure IOMETER to use the best performance and the stress the > storage subsystem? > > Imagine the situation : I would like to simulate the database environment with 100 users - OLTP. > I will configure 2k and 67% read and 33% write. How do I configure 100 users in the IOMETER? > Is it a workers (100 workers) or 10 workers (10 transactions per connection)? > Another test I would using 64K READ Sequential with simulate 20 users. How do configure this? > > I have a PIII 1.2GHz and 64 bits slots (iSCSI target and FC target). > > Please I need the answer ASAP. If possible send for me the icf file like suggestions or samples. > > TIA > > Regards > > neto |