Performance Tuning Hard Drives

PokerTracker 4 version 4.0.x
August 16, 2021
  • Introduction

    One of the things which can often cause slowdowns in PokerTracker 4 usage is the amount of time to read from and write to the hard drive.  

    To help improve performance, we have compiled a list of things you can do which may speed up hard drive access times based on tweaking a few settings with your hard drive. Performance gains will vary from system to system, and as such cannot be predicted within this guide; each user should gauge performance improvement based on his or her own usage experience metrics.

    If you are running the Microsoft Windows OS, you are almost certainly using the NTFS file system. PostgreSQL would complain when installing the Windows version on a non-NTFS file system, so if you did not have problems installing PostgreSQL, then you can safely assume you are using a NTFS formatted drive.

    Users of modern Solid State Drives (SSD) should not be concerned with performance tuning, SSD drives are high performance drives without mechanical parts, and as such these drives do not require tuning.

    For more information, please review the PokerTracker 4 Support Guide titled What are the Minimum System Requirements to run PokerTracker 4?

  • NTFS (Windows)

    There are several different steps you can take to optimize NTFS. The most basic of all steps is to defragment your hard drive.  Additionally you can define preference settings which may be altered at a later time if the results are not ideal.  

    Please note that you need to reboot after taking these steps before you can see any performance gains.

    • Defragment Your Hard Drive

      Defragmenting your hard drive takes files which may be written in several different physical locations on the hard drive and puts them together in one spot. This will increase performance when reading the hard drive as the head does not need to move as far in order to read the rest of the file. It is recommended to defragment your hard drive occasionally.

      Please note: if you write data to the hard drive during the defragment procedure, the progress may be lost and the program may need to begin again. Please make sure to leave a significant chunk of time for defragmentation in which you are not using your computer for anything else.

      You must make sure that the PostgreSQL server is not running before attempting to defragment your hard drive.

      You can stop the PostgreSQL Server's Windows service by clicking Start --> Programs --> PostgreSQL --> Stop Services. After the defragment has finished, you can restart it by clicking Start --> Programs --> PostgreSQL --> Start Services.

      • In Windows XP: Open My Computer, right click on the disk you would like to defragment and click "Properties". Click on the "Tools" tab and click "Defragment Now". Then click "Defragment" to begin defragmenting your hard drive.
      • In Windows Vista/7: Click Start --> All Programs --> Accessories --> System Tools --> Disk Defragmenter. Click "Defragment Now" to begin defragmenting your hard drive.
      • In Windows 8: Open Optimize Drives by pointing to the uper-right corner of the screen, moving the mouse pointer down, and then clicking Search.  Enter Defragment in the search box, and then click Defragment and optimize your drives.  Select your disk drive and click Optimize.
    • NTFS Preferences

      You may choose to impliment some or some or all of the below preference changes, if you do not like the result of the changed preference, you can always change it back if need be.

      As a reminder, please restart your computer after setting any of the preferences below.  

      • Disable Last Access Time Support

        By default whenever you access a file in NTFS the filesystem writes to the drive the time at which you accessed the file. When accessing a large number of files, and writing small bits of data in lots of different places, updating all of the access times can be burdensome and slow down performance. Disabling this feature will cause NTFS to no longer write the time at which you access a file when you do.

        Please note: disabling this feature can cause problems for some automated backup systems. If you are using an automated backup system, please check to make sure it functions properly with this support disabled, as we assume no responsibility for lost data in the event of a failed backup as a result of changing this setting.

        To disable last access time support, click Start --> Run, type 'cmd' and hit enter. Then type:

             fsutil behavior set disablelastaccess 1

        To re-enable last access time support in the event of any issues, click Start --> Run, type 'cmd' and hit enter. Then type:

             fsutil behavior set disablelastaccess 0
      • Enlarge Write-Ahead Cache

        This option is configurable in Windows Vista, Windows 7, Windows 8 or Windows 2003 server only.

        Windows gives the NTFS file system a default cache to use for information, but if you are opening and closing a lot of different files in rapid succession, this cache can be exhausted, causing reads and writes to take longer than necessary. There are two setting sizes: normal, and large. From the Microsoft Documentation:

        Increasing physical memory does not always increase the amount of paged pool memory available to NTFS. Setting memoryusage to 2 raises the limit of paged pool memory. This might improve performance if your system is opening and closing many files in the same file set and is not already using large amounts of system memory for other applications or for cache memory. If your computer is already using large amounts of system memory for other applications or for cache memory, increasing the limit of NTFS paged and non-paged pool memory reduces the available pool memory for other processes. This might reduce overall system performance.

        To set the cache to its larger size, click Start --> Run, type 'cmd' and hit enter. Then type:

             fsutil behavior set memoryusage 2

        In the event of any issue, or degradation of performance as a result of this change, you can set the cache back to its normal size. To revert to the default configuration, click Start --> Run, type 'cmd' and hit enter. Then type:

             fsutil behavior set memoryusage 1
      • Disable Legacy Filename Support

        Legacy filename support creates an alias for every long (> 8 characters) file you create with an 8.3 format (8 character name, 3 character extension). This will likely not bring large performance gains to PT4 and PostgreSQL, however if you have a large number of files in a single directory whose filenames all begin similarly you can run into performance issues because of this. Legacy filenames should only be used by old programs (programs created in the early Windows 98 era), so disabling legacy filename support should not cause problems either.

        To disable legacy filename support, click Start --> Run, type 'cmd' and hit enter. Then type:

             fsutil behavior set disable8dot3 1

        and press enter.

        To re-enable legacy filename support in the event of any issues, return to the command prompt as above and type:

             fsutil behavior set disable8dot3 0 

        and press enter.

  • Apple OS X

    Most modern Mac OS X computers use SSD drives or hybrid "Fusion" drives which remove the need for performance tuning.

    Therefore, at this time we do not have any additional advice for performance tuning available for Apple Mac OS X users at this time. 

    Users with legacy 5400 RPM drives in products such as Macbook Pros should be aware that 5400 RPM drives are not ideal.  PokerTracker recommends at least a 7200RPM hard drive or faster, with Solid State Drives (SSDs) currently being the fastest drives available for optimal performance.

    The optimal solution for Mac users are computers that contains a built in SSD drive such as modern Macbook Airs (ideally with 8Gigs Ram) or Macbook Pro Retina laptops.  Third party SSD drives may be used to replace existing hard drives in legacy Apple computers; this is a reasonable compromise to get the best performance while using legacy hardware at a lower total cost of investment.