RE: Database RAID Config w/Client Variables

2005-01-20 Thread Matt Wisdom
Thanks for the help, everyone.

Adam, we have Client vars timeout after 20 days. We have had trouble with
the purging in the past. Last time I looked I believe we had put in the
hotfix for this problem and it was doing fine.

Matt

-Original Message-
From: Adam Churvis [mailto:[EMAIL PROTECTED] 
Sent: Sunday, January 16, 2005 5:32 PM
To: CF-Talk
Subject: Re: Database RAID Config w/Client Variables

Matt,

I've run traced load tests on an isolated client variables database (i.e.,
separated from the transactional DB) with production-scale data, and the
three non-clustered indexes that are created on the CDATA and CGLOBAL tables
are about as efficient as can be.  Post-test analysis didn't suggest any
changes to the indexes in any way.  The rows themselves appear to be
retrieved as efficiently as possible.

The only real bottleneck seems to be deserializing the key-value pairs back
into Client variables once the text columns containing them are passed to
ColdFusion on each retrieval.

I didn't thoroughly read through all the earlier posts in this thread, but
are you expiring your Client variables after one day rather than the default
90 days?

Respectfully,

Adam Phillip Churvis
Member of Team Macromedia
http://www.ProductivityEnhancement.com

Download Plum and other cool development tools,
and get advanced intensive Master-level training:

* C#  ASP.NET for ColdFusion Developers
* ColdFusion MX Master Class
* Advanced Development with CFMX and SQL Server 2000





~|
Logware: a new and convenient web-based time tracking application. Start 
tracking and documenting hours spent on a project or with a client with Logware 
today. Try it for free with a 15 day trial account.
http://www.houseoffusion.com/banners/view.cfm?bannerid=67

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:191285
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Donations  Support: http://www.houseoffusion.com/tiny.cfm/54


RE: Database RAID Config w/Client Variables

2005-01-17 Thread Micha Schopman
If you have the disks, always choose a RAID10 config over a RAID5
config. The situations where RAID5 can compare to RAID10 are very
little, and only few adapters are able to achieve it (LSI MegaRAID
320-2X). RAID10 gives you the combination of performance and redundancy.

We run our replicated sql servers also with RAID10 configurations. The
difference between RAID5 and RAID10 is immense.


This is from the MS SQL Server notes: 

To store your database log files (.ldf), the best performance is often
gained by storing them using a RAID 1 (mirrored or duplexed) array. This
assumes that there is only a single log file on the RAID 1 array. If
there is only a single log file on the RAID 1 array, the file can be
written to sequentially, speeding up log writes.

But if there are multiple log files (from multiple databases) sharing
the same RAID 1 array, then there is little or no advantage of using a
RAID 1 array. This is because although writing to a log is done
sequentially, multiple log files on the same array means that the array
will no longer be able to write sequentially, but will have to write
randomly, negating much of the benefits of a RAID 1 array.

But note: a RAID 1 array might still be better than a RAID 5 array if it
can process more random writes than the RAID 5 array. You will have to
check your hardware to know for sure. Another option is to put each
database log on its own separate RAID 1 array. One more option is to put
the log on a RAID 10 array, which offers the best features of RAID 1 and
RAID 5. While this is expensive, it will provide optimum performance.
[6.5, 7.0, 2000] Updated 12-20-2004

Micha Schopman
Software Engineer

Modern Media, Databankweg 12 M, 3821 AL  Amersfoort
Tel 033-4535377, Fax 033-4535388
KvK Amersfoort 39081679, Rabo 39.48.05.380



~|
Logware: a new and convenient web-based time tracking application. Start 
tracking and documenting hours spent on a project or with a client with Logware 
today. Try it for free with a 15 day trial account.
http://www.houseoffusion.com/banners/view.cfm?bannerid=67

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:190694
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Donations  Support: http://www.houseoffusion.com/tiny.cfm/54


Re: Database RAID Config w/Client Variables

2005-01-17 Thread Dan O'Keefe
Matt,

There is a current thread running over at SSWUG titled Raid 10 VS
Raid 5 and ISCII. Login there or create a free account and search on
the subject line:

http://www.sswug.org/

Dan


On Fri, 14 Jan 2005 15:55:34 -0400, Matt Wisdom [EMAIL PROTECTED] wrote:
 I realize that the reader doesn't have all of the info for my situation, and 
 that there are ways to verify true bottlenecks in a databaes system with Perf 
 Mon and other tools that I will address when I can. That said, I'm hoping 
 that others can share their experiences if they've been down this path. Here 
 is my situation:
 
 I have one DB server that will host my main site DB and the CFSessions DB 
 that is created by the CF Servers to use database-based client variables. I 
 would like to maximize performance of the database but I am unsure as to the 
 best starting point for allocating hard drives to raid volumes. Client 
 variables get moderate usage, although the data contained within is not 
 mission critical. The MainDB gets relatively heavy usage, mostly reads. The 
 system looks like this:
 
 SQL Server 2000
 10 drive raid
 system memory maxed out
 Fast CPUs
 
 The database files look like this:
 
 Main DB
 Main DB Translog
 CF Sessions DB
 CF Sessions DB Tlog
 
 What RAID config would you use for the databases?
 
 Main DB = 4+1 parity RAID 5
 Main DB tlog = 1+1 mirrored RAID 1
 CF Sessions DB = 1
 CF Sessions DB tlog = 1
 Hot spare = 1
 
 or splitting the drives based on sequential vs non-sequential reads:
 
 Main DB and CFSessions DB = 6+1 parity RAID 5
 Main DB tlog CF Sessions DB tlog = 1+1 mirrored RAID 1
 Hot spare = 1
 
 or something else??
 
 How important is (battery backed) write cache for the raid? The main database 
 doesn't write very much, but the CFSessions DB should be writing every 
 pageload. Would you use this?
 
 Thanks very much in advance,
 Matt
 
 

~|
Logware: a new and convenient web-based time tracking application. Start 
tracking and documenting hours spent on a project or with a client with Logware 
today. Try it for free with a 15 day trial account.
http://www.houseoffusion.com/banners/view.cfm?bannerid=67

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:190713
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Donations  Support: http://www.houseoffusion.com/tiny.cfm/54


Re: Database RAID Config w/Client Variables

2005-01-16 Thread Jochem van Dieten
Matt Wisdom wrote:
 
 10 drive raid

Which controller? Chipset? Battery backup? RAM?


 What RAID config would you use for the databases?

Depends on what RAID controller you have. If it is IOP321 based, 
10 disks in a RAID 6 or 9 disks in a RAID 5 and a hotspare.


 How important is (battery backed) write cache for the raid?

It is the single most important way to improve performance on the 
hardware side.

With a RAID system, every write command requires at least 2 
physical writes: every bit has to be stored on at least 2 disks. 
Even if the write heads are perfectly positioned for the write 
operation, a disk rotating at 1 rpm will take on average 3 ms 
for the write. With 2 disks, that becomes 4.3 ms, and with a RAID 
configuration that requires you to write more disks that 
approaches asymptotically to 6 ms. And that is the theoretical 
optimum with perfectly positioned heads.
Since the ACID Durability requirement mandates that all changes 
are logged to physical storage, you can not commit more then 160 
transactions that require writes per second on such a system. It 
is physically impossible.
A battery backed cache allows you to overcome this limitation 
because it allows the controller to group writes together in 
batches, without the database having to wait.

Jochem

~|
Now there’s a better way to fax. eFax makes it possible to use your existing 
email account to send and receive faxes. Try eFax free.
http://www.houseoffusion.com/banners/view.cfm?bannerid=63

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:190621
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Donations  Support: http://www.houseoffusion.com/tiny.cfm/54


RE: Database RAID Config w/Client Variables

2005-01-16 Thread Matt Wisdom
 10 drive raid

Which controller? Chipset? Battery backup? RAM?

Looking at an adaptec U320, 256 MB w/battery backup for 72 hours. The rest
of the system is a SuperMicro serverworks dual xeon mobo + case. It has 10
drive bays in the 4U case with a backplane and hotswap. 4GB of ram. About
$6,000 for the whole thing.



 What RAID config would you use for the databases?

Depends on what RAID controller you have. If it is IOP321 based, 
10 disks in a RAID 6 or 9 disks in a RAID 5 and a hotspare.

I didn't know what RAID 6 is -- RAID-6. This type is similar to RAID-5 but
includes a second parity scheme that is distributed across different drives
and thus offers extremely high fault- and drive-failure tolerance. There are
few or no commercial examples currently.

So you would have only one data volume for the two databases? What about the
logs?


 How important is (battery backed) write cache for the raid?

It is the single most important way to improve performance on the 
hardware side.

Sounds like this would be a hard limit on scalability for connections per
second because of the cfsessions client vars.

Thanks,
Matt


~|
Find out how CFTicket can increase your company's customer support 
efficiency by 100%
http://www.houseoffusion.com/banners/view.cfm?bannerid=49

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:190644
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Donations  Support: http://www.houseoffusion.com/tiny.cfm/54


RE: Database RAID Config w/Client Variables

2005-01-16 Thread Matt Wisdom
What is the most intense client vars database anyone here has set up?

 

It's a little strange because since the indexing is handled automatically it
isn't obvious how optimized the processes are. Has this ever been a
bottleneck for scalability?

 

Matt



~|
Find out how CFTicket can increase your company's customer support 
efficiency by 100%
http://www.houseoffusion.com/banners/view.cfm?bannerid=49

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:190646
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Donations  Support: http://www.houseoffusion.com/tiny.cfm/54


Re: Database RAID Config w/Client Variables

2005-01-16 Thread Adam Churvis
 It's a little strange because since the indexing is handled automatically
it
 isn't obvious how optimized the processes are. Has this ever been a
 bottleneck for scalability?

Matt,

I've run traced load tests on an isolated client variables database (i.e.,
separated from the transactional DB) with production-scale data, and the
three non-clustered indexes that are created on the CDATA and CGLOBAL tables
are about as efficient as can be.  Post-test analysis didn't suggest any
changes to the indexes in any way.  The rows themselves appear to be
retrieved as efficiently as possible.

The only real bottleneck seems to be deserializing the key-value pairs back
into Client variables once the text columns containing them are passed to
ColdFusion on each retrieval.

I didn't thoroughly read through all the earlier posts in this thread, but
are you expiring your Client variables after one day rather than the default
90 days?

Respectfully,

Adam Phillip Churvis
Member of Team Macromedia
http://www.ProductivityEnhancement.com

Download Plum and other cool development tools,
and get advanced intensive Master-level training:

* C#  ASP.NET for ColdFusion Developers
* ColdFusion MX Master Class
* Advanced Development with CFMX and SQL Server 2000



~|
Purchase Studio MX from House of Fusion, a Macromedia Authorized Affiliate and 
support the CF community.
http://www.houseoffusion.com/banners/view.cfm?bannerid=50

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:190650
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Donations  Support: http://www.houseoffusion.com/tiny.cfm/54


Re: Database RAID Config w/Client Variables

2005-01-16 Thread Jochem van Dieten
Matt Wisdom wrote:
 10 drive raid
 
 Which controller? Chipset? Battery backup? RAM?
 
 Looking at an adaptec U320, 256 MB w/battery backup for 72 hours.

Cache size matters. See for instance the following tests with 128 
vs 512 MB controller cache:
http://www.tweakers.net/benchdb/testcombo/82
http://www.tweakers.net/benchdb/testcombo/197

If you can get more cache, it is probably worth it.


What RAID config would you use for the databases?
 
 Depends on what RAID controller you have. If it is IOP321 based, 
 10 disks in a RAID 6 or 9 disks in a RAID 5 and a hotspare.
 
 I didn't know what RAID 6 is -- RAID-6. This type is similar to RAID-5 but
 includes a second parity scheme that is distributed across different drives
 and thus offers extremely high fault- and drive-failure tolerance. There are
 few or no commercial examples currently.

It is basically RAID 5 with 2 parities. In RAID 5 you can loose 
one disk without dataloss, in RAID 6 you can loose 2 disks.


 So you would have only one data volume for the two databases? What about the
 logs?

All on the same volume.

But remember the If it is IOP321 based. Adaptec makes its own 
RAID XOR chips, and it looks like vendors buying their RAID XOR 
chips from Intel currently hold the performance crown, which is 
more important with RAID 5: http://www.tweakers.net/benchdb/test/80


 How important is (battery backed) write cache for the raid?
 
 It is the single most important way to improve performance on the 
 hardware side.
 
 Sounds like this would be a hard limit on scalability for connections per
 second because of the cfsessions client vars.

Yes. That is why a battery backed cache is so important.

Jochem

~|
Protect Your PC from viruses, hackers, spam and more. Buy PC-cillin with Easy 
Installation  Support 
http://www.houseoffusion.com/banners/view.cfm?bannerid=61

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:190651
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=89.70.4
Donations  Support: http://www.houseoffusion.com/tiny.cfm/54


Re: Database RAID Config w/Client Variables

2005-01-15 Thread Umer Farooq
Hi,

I've always gone with option 1.. listed below..

  Main DB = 4+1 parity RAID 5
  Main DB tlog = 1+1 mirrored RAID 1


however I never store client variables in DB as it's a very high 
overhead (atleast for me). but incase I had to.. I went with MySQL on 
diffrent box.

--
Regards

Matt Wisdom wrote:
 I realize that the reader doesn't have all of the info for my situation, and
 that there are ways to verify true bottlenecks in a databaes system with
 Perf Mon and other tools that I will address when I can. That said, I'm
 hoping that others can share their experiences if they've been down this
 path. Here is my situation:
 
 I have one DB server that will host my main site DB and the CFSessions DB
 that is created by the CF Servers to use database-based client variables. I
 would like to maximize performance of the database but I am unsure as to the
 best starting point for allocating hard drives to raid volumes. Client
 variables get moderate usage, although the data contained within is not
 mission critical. The MainDB gets relatively heavy usage, mostly reads. The
 system looks like this:
 
 SQL Server 2000
 10 drive raid
 system memory maxed out
 Fast CPUs
 
 The database files look like this:
 
 Main DB
 Main DB Translog
 CF Sessions DB
 CF Sessions DB Tlog
 
 What RAID config would you use for the databases?
 
 Main DB = 4+1 parity RAID 5
 Main DB tlog = 1+1 mirrored RAID 1
 CF Sessions DB = 1
 CF Sessions DB tlog = 1
 Hot spare = 1
 
 or splitting the drives based on sequential vs non-sequential reads:
 
 Main DB and CFSessions DB = 6+1 parity RAID 5
 Main DB tlog CF Sessions DB tlog = 1+1 mirrored RAID 1
 Hot spare = 1
 
 or something else??
 
 How important is (battery backed) write cache for the raid? The main
 database doesn't write very much, but the CFSessions DB should be writing
 every pageload. Would you use this?
 
 Thanks very much in advance,
 Matt
 
 
 

~|
Find out how CFTicket can increase your company's customer support 
efficiency by 100%
http://www.houseoffusion.com/banners/view.cfm?bannerid=49

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:190607
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Donations  Support: http://www.houseoffusion.com/tiny.cfm/54


Re: Database RAID Config w/Client Variables

2005-01-15 Thread Pete Ruckelshaus
Wow, that's one serious database server.  How many transactions per
minute/hour/day/whatever will you be getting?

Personally, I think you're putting all your eggs in one basket.  I
would guess that server is going to cost you around $20k?  I would
instead get a pair of identically configured boxes, probably dual
Xeons with 2-4GB RAM.  Have the drives RAID5, which I think you can do
with 3 drives.  Use 10k drives, since the servers will be doing the
database I/O to the DAS unit I'm going to mention in a second, if
possible have another standalone small 15K drive in the box to use for
pagefile.  Then get a DAS (direct attach storage) unit like an EMC,
fiberchannel RAID (get a FC card in the servers), to use as your data
drive that is common to both of your database servers (which will be
operating in failover mode).  If you've got a little budget left, also
get a less expensive NAS box that you will use to offload your
transaction logs to so you aren't filling your expensive DAS with that
sort of data.

In the end, it MIGHT cost a touch more than the server you mentioned
in your post, but you'll have greater redundancy and flexibility, and
chances are you'd have better performance.

Pete

~|
Discover CFTicket - The leading ColdFusion Help Desk and Trouble 
Ticket application

http://www.houseoffusion.com/banners/view.cfm?bannerid=48

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:190611
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Donations  Support: http://www.houseoffusion.com/tiny.cfm/54


Re: Database RAID Config w/Client Variables

2005-01-15 Thread Umer Farooq
Or you can just grab two boxes.. as a good dell box (from outlet) with 
7X140GB(10K) dual etc.. etc.. costs around $4300..

but the setup described below does sound sweet.. mu..


Pete Ruckelshaus wrote:
 Wow, that's one serious database server.  How many transactions per
 minute/hour/day/whatever will you be getting?
 
 Personally, I think you're putting all your eggs in one basket.  I
 would guess that server is going to cost you around $20k?  I would
 instead get a pair of identically configured boxes, probably dual
 Xeons with 2-4GB RAM.  Have the drives RAID5, which I think you can do
 with 3 drives.  Use 10k drives, since the servers will be doing the
 database I/O to the DAS unit I'm going to mention in a second, if
 possible have another standalone small 15K drive in the box to use for
 pagefile.  Then get a DAS (direct attach storage) unit like an EMC,
 fiberchannel RAID (get a FC card in the servers), to use as your data
 drive that is common to both of your database servers (which will be
 operating in failover mode).  If you've got a little budget left, also
 get a less expensive NAS box that you will use to offload your
 transaction logs to so you aren't filling your expensive DAS with that
 sort of data.
 
 In the end, it MIGHT cost a touch more than the server you mentioned
 in your post, but you'll have greater redundancy and flexibility, and
 chances are you'd have better performance.
 
 Pete
 
 

~|
Discover CFTicket - The leading ColdFusion Help Desk and Trouble 
Ticket application

http://www.houseoffusion.com/banners/view.cfm?bannerid=48

Message: http://www.houseoffusion.com/lists.cfm/link=i:4:190613
Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4
Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4
Unsubscribe: 
http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4
Donations  Support: http://www.houseoffusion.com/tiny.cfm/54