View previous topic :: View next topic |
Author |
Message |
chris421
Joined: 07 Apr 2005 Posts: 53
|
Posted: Thu Apr 03, 2008 6:44 Post subject: RAMDisk re re visited |
|
|
Was prepping RAMDisk to copy out the most frequently used nwn2server files & folders.
FILEMON revealed a few surprises worth mentioning: Looks like something in either nwnx4 1.08 (or) 0.0.9 xp_mysql.dll hard coded an assumed path to the MySQL installation. Had about 120 hits to MySQL\share\charsets...MySQL install resides on F: in my case.
The other biggies were naturally the .\Data folder...about 30,000 hits in just a few minutes of operation. The .\override had about 3,000. .\Temp\NWN2\CURRENTGAME.0 had about 2,000. Very surprising was xp_chat.txt at over 4,000 hits. All fantastic candidates to redirect to RAM.
So far the best, most versatile RAMDisk driver I've found is Qsoft's "RAMDisk". $34 USD buys you lifetime support for a driver that runs under XP/2000/2003/Vista (both x86 and x64).
http://www.ramdisk.tk/
Running a 512MB RAMDisk now under 2003 32-bit problem-free. |
|
Back to top |
|
|
Gryphyn
Joined: 20 Jan 2005 Posts: 431
|
Posted: Thu Apr 03, 2008 7:59 Post subject: |
|
|
Not sure but you might be able to get a similar boost using a FlashDrive (USB Key) without chewing up your machines memory [needed to run the server, database etc.]
Might not be quite as fast...but your machine is not handicapped.
Cheers
Gryphyn |
|
Back to top |
|
|
chris421
Joined: 07 Apr 2005 Posts: 53
|
Posted: Thu Apr 03, 2008 8:25 Post subject: |
|
|
All about IOs here. Would only look at using SSD (NAND) as a replacement for my hot/loud sata disks.
Spec'ing out my new server to have between 12-16GB of RAM. So I'll have gobs of RAM.
NWN2Server is more of a headless NWN2Main than a true client/server app. 90,000 IOs for one user in 5min of play? No wonder it runs like crap. If Obsidian ever uses memory more wisely, loading the appropriate things into RAM themselves, I'll lose my RAMDisk. Till then, no way. |
|
Back to top |
|
|
Gryphyn
Joined: 20 Jan 2005 Posts: 431
|
Posted: Thu Apr 03, 2008 13:11 Post subject: |
|
|
chris421 wrote: | All about IOs here. Would only look at using SSD (NAND) as a replacement for my hot/loud sata disks.
Spec'ing out my new server to have between 12-16GB of RAM. So I'll have gobs of RAM.
NWN2Server is more of a headless NWN2Main than a true client/server app. 90,000 IOs for one user in 5min of play? No wonder it runs like crap. If Obsidian ever uses memory more wisely, loading the appropriate things into RAM themselves, I'll lose my RAMDisk. Till then, no way. |
Ok, you've done some research
What's the cache-hit ratio for those 90K IO's? approaching 100% it's all 'logical' IO (already in RAM). Less than 80% is usually a red flag, as it's a trip off to the disk (or two).
SSD is the way to go, prices around US$15 per GB compared to less than US$0.50 for hard drives. (but US$15/GB is about a disk of 7-8 year ago)
Keep your RAM for doing the grunt work.
--DRAM will give you longer 'write' life.
Cheers
Gryphyn |
|
Back to top |
|
|
serafim
Joined: 02 Jan 2007 Posts: 41
|
Posted: Thu Apr 03, 2008 15:04 Post subject: |
|
|
i read smething comparing ssd to scsi arrays (the ones i used on my server) and found that actual ssd suffer largely in a typical db use when multiple i/o request where to be negotiated.
So i keep scsi arrays with hardware controllers and ecr buffer ram
No cpu usage, long life, rock solid tecnology .
my 2c. |
|
Back to top |
|
|
Gryphyn
Joined: 20 Jan 2005 Posts: 431
|
Posted: Thu Apr 03, 2008 23:08 Post subject: |
|
|
serafim wrote: | i read smething comparing ssd to scsi arrays (the ones i used on my server) and found that actual ssd suffer largely in a typical db use when multiple i/o request where to be negotiated.
So i keep scsi arrays with hardware controllers and ecr buffer ram
No cpu usage, long life, rock solid tecnology .
my 2c. |
True, it's the O (writes) that kill SSD's (still faster than disk).
If you manage you data (identify WORM) SSD pays for itself ~250 times over.
In this case it's a game mod - basically all 'fetch' requests, so you'd expect that 250x improvement in IO throughput.
Now you can get 1.6Tb SSD. So the tech has caught up on the capacity side - and should overhaul disk on the cost side in the not too distant future.
Cheers
Gryphyn |
|
Back to top |
|
|
chris421
Joined: 07 Apr 2005 Posts: 53
|
Posted: Fri Apr 04, 2008 9:37 Post subject: |
|
|
Gryphyn wrote: |
What's the cache-hit ratio for those 90K IO's? approaching 100% it's all 'logical' IO (already in RAM). Less than 80% is usually a red flag, as it's a trip off to the disk (or two).
|
Unfortunately this RAMDisk driver doesn't provide the same set of perf counters you have with traditional disks. If I took the time to revert the half dozen INIs to point everything back to phys disk, I'm sure you're right...cache hits would be very high.
But the server really seems to suffer for the suspected 2-5% of the time when cache is missed. The combined memory + virtual mem footprint of the nwn2server process is far less than even that zipped up ./Data folder. That suggests a lot doesn't make it into memory--ever. In addition to IO improvements in offloading currentgame.0 to RAMDisk, the larger player BICs are also pretty nasty. Course I use a recurring job to dump RAMDisk player BICs back to sata in case of power loss.
Anyway, if you want to see RAMDisk in action, I have a few public server instances running in the "Test" multiplayer category. It's the "Coliseum" module with the four BCK II Haks. |
|
Back to top |
|
|
Papillon x-man
Joined: 28 Dec 2004 Posts: 1060 Location: Germany
|
Posted: Thu Apr 10, 2008 22:41 Post subject: Re: RAMDisk re re visited |
|
|
chris421 wrote: | FILEMON revealed a few surprises worth mentioning: Looks like something in either nwnx4 1.08 (or) 0.0.9 xp_mysql.dll hard coded an assumed path to the MySQL installation. Had about 120 hits to MySQL\share\charsets...MySQL install resides on F: in my case. |
This is certainly not in NWNX's code, but probably in the MySQL development library. _________________ Papillon |
|
Back to top |
|
|
|