• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 453
  • Last Modified:

patitioning 1TB HD for maximum performance

If I want four or five different programs to each have best possible access time, would I put each one on a separate partition?  Would I put the OS on a separate partition?
7 Solutions
the first partition is the fastest part of the disk (the outside edge) this is reverse from DVDs/CDs

for most drives the first 40% is the fastest. so what you really need to consider is the size of the 4 programs plus the operating system.

for me on a 1TB drive, my partitions are:

300gb primary.
700gb (roughly) secondary.

these are your C: and D: drives. because i mostly store disk images on drive D:. i set the block size from the default of 4k to 64k.

the block size controls the smallest unit of measurement used by the partition. so if you wrote a small text file (less than 1kb in size) it would still use a full 64kb minumum.

I do that because it shrinks the size of the file allocation table (FAT) and makes searches and drive access a bit faster. it also makes reads faster since data is retrieved in 64k chunks instead of 4k.
Gary CaseRetiredCommented:
Agree with using the first partition for the OS;  but disagree with using 64k block sizes for that partition.    A 64k block size is definitely a good idea for a partition which stores most large files (e.g. video), but can actually slow down the OS ... especially if the page file is on that partition.    The page file is always read/written in 4k blocks, so you'll get the best performance if it's on a drive that's using 4k blocks.    If the drive uses 64k blocks, it requires a 64k read (and transfer) to access a single 4k page file entry.     Note that as long as files are stored contiguously (which most will be -- especially if you defrag the disk regularly), even large files (such as programs you're loading) will be read just as fast with 4k blocks as with larger blocks, since the disk reads a full cylinder at a time regardless of the block size (that's one of the functions of the cache).

You do not need multiple partitions for the various programs -- just put your OS and programs on the first (fastest) partition of the drive -- the 300GB/700GB allocation noted above is fine, although I use about half that for my first partition (which ensures the entire OS is on the outermost zone of the drive [all modern drives use zoned sectoring].
Gary i think you misread what i said.

"because i mostly store disk images on D: {the second partition} i set the block size from the default 4k to 64k."

I do not recommend setting the C: drive partition to anything but 4k and in fact most windows OS installs will not let you anyway.
Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

Gary CaseRetiredCommented:
Yes, I thought you were implying you'd used a larger block size for the OS (You CAN use whatever size you want ... although you have to pre-format it as the installer will use a default size).

64k blocks are okay for the second partition -- although I wouldn't go that large.    16k is a good trade-off between large files and performance.     The only time I use 64k blocks is for partitions that I use to CAPTURE video -- the larger block size lets you have a lot higher capture bandwidth without any missing frames.    For files that aren't real-time sensitive (like video captures) the block size doesn't matter in terms of file integrity ... only in storage efficiency and read performance.
Hi AE.

If you want four or five different programs to each have "best possible access time" - do not put them on the same drive.  Block size doesn't matter here; your limiting factor here is that you're dealing with a finite number of read/write heads accessing the same physical spinning platter.

While it may exist, I know of no solution that will let you classify data based on the application used to access it, and subsequently 'stripe' a single disk to give you equivalent access times to the data used by those apps.

If performance is a major concern for you, I would suggest multiple drives, one for storage of data specific to the application that uses it.  In this fashion, you can achieve great access times for each application without having to partition a drive.

For whatever it's worth, partitioning will generally only slow your system down..  Generally, not in a noticeable fashion, but it certainly won't help you any.
Best possible "access time" is incompatible with best possible throughput.   Gary said 16KB block size.  I agree, that is a good general-purpose fit.  In grand scheme of things, you aren't going to see much of a difference unless you run benchmarks, but the problem is, any tuning you do for a specific benchmark will actually make your general-purpose I/O slower!

As for striping, I've done quite a bit of it over the years, and you can certainly get higher throughput on a single-disk system (if you really need to improve throughput at the expense of IOPs), if you configure the disk as a RAID0 volume.   You have to get the block size and file system settings right, but nothing wrong with configuring a single disk this way.   (But I've done this mostly on IRIX & LINUX, never even bothered to see if it is possible under Windows, and I certainly have not run data integrity tests to insure it is safe)
Best would be to have a separate drive for your OS. The performance you get from just partitioning the drive is minimal compares to having a separate smaller drive for the OS on it's own. I suggest getting a 160GB reasonably fast drive and use it for the OS and any software installs(I usually use a different drive for game installs to prevent thrashing).
And look at PerfectDisk defrag software
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: Subnet Calculator

The subnet calculator helps you design networks by taking an IP address and network mask and returning information such as network, broadcast address, and host range.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now