locked
Storage Recommendations for FSLogix RRS feed

  • General discussion

    • Storage Recommendations for FSLogix

      The following recommendations provide a baseline estimate for the storage IOPS you will need to run FSLogix for O365 Containers and Outlook search.

       

      Networking Note: It's not a good idea to us WIFI with FSLogix, since your computer needs to be connected to the network through the whole logoff process or else FSLogix will not be able to copy your profile to the server.

       

      You will need high availability to protect the Fileserver where your containers are stored. 

       

      You will need about 2 IOPS per user total to use FSLogix with O365 containers with Windows Search Index:

      • O365 container requires about 1.5 IOPS per user
      • Search index require approximately .5 IOPS per user

       

      An example customer with 5,000 users used the following SOFS design to deliver the throughput needed of 10k IOPS total:

      • Servers: 3 file servers located on 3 different hypervisor hosts
      • 8-16 vCPUs, 32-64GB RAM, 4 vNics each
      • Storage: EMC Flash disk array with sufficient IO
      • On average, their users created about 1GB of cache per week of Cache stored. The amount of storage will need to be equivalent to 3 months of Exchange cache plus 10% for Search Index, plus growth of another about 1,000 users. Container size is initially capped at 30GB when provisioned, but can be adjusted as needed. If the average user Outlook cache is 5GB then the space needed at a minimum as specified would be 5x5,000=25,000 + 2,500 or a total of 27,500 GB (minimum).
      • Network: Check with your service provider for best practices for SOFS designs and other HA solutions to provide high availability.

       

      Calculating actual storage IOPS Required for FSLogix:

      You can use the following table to calculate your IOPS requirements for FSLogix:

      NUMBER OF USERS X REQUIRED SPACE

      RAW SPACE

      RAW SPACE / SIZE OF HARD DISK

      REQUIRED HARD DISKS

      ‘X160X’ IOPS PER HDD X REQUIRED HARD DISKS

      TOTAL IOPS AVAIL

      NUMBER OF USERS X IOPS

      REQUIRED IOPS

      TOTAL IOPS AVAIL / REQURED IOPS

      IOPS PER USER

      IOPS PER USER  

      =>1.5 IOPS

       

      Example: Showing you don't have enough disks. (To get to 1.5 IOPS per user we would need about 70 Disks.)

      Number of Users

      7000

      Required Space per user in GB

      5

      HDD Size

      1024

      Required HDD's

      34.1796875

      Adjuster

      0

      Total HDD's

      34

      IOPS Per HDD

      150

      Total IOPS Avil

      5126.953125

      IOPS PER USRER AVAIL

      0.732421875

       

      Example: Showing you have enough disks. (To get to 1.5 IOPS per user we would need about 70 Disks.)

      Number of Users

      7000

      Required Space per user in GB

      5

      HDD Size

      1024

      Required HDD's

      34.1796875

      Adjuster

      35

      Total HDD's

      70

      IOPS Per HDD

      150

      Total IOPS Avil

      10500

      IOPS PER USRER AVAIL

      1.50

       

       

      Calculating Theoretical storage IOPS Required for FSLogix

      If you do not have Exchange installed but want to plan for impending storage needs that result from an Exchange deployment, you can use data that has already been collected. This data is in the form of mailbox profiles, which describe general usage patterns for Exchange mailboxes. The following table lists mailbox profiles that can be used as a guideline for capacity planning of Exchange mailbox servers. These profiles represent mailbox access for the “average user” Outlook (or MAPI-based) client within the organization. User profiles and corresponding usage patterns

      User Type

      Database Volume IOPS

      Send/Receive per day

      Mailbox Size

      Light

      .5

      20 sent/50 received

      50 MB

      Average

      .75

      30 sent/75 received

      100 MB

      Heavy

      1.0

      40 sent/100 received

      200 MB

      Large

      1.5

      60 sent/150 received

      500 MB

      Each profile represents total I/O to the Jet database and does not include I/O related to transaction log file activity. In order to accurately calculate your disk subsystem load, you must split this database I/O into read and write I/O because write operations are more I/O intensive than reads. To help estimate your own read/write ratio, consider the usage patterns of a company that has a heavy mailbox profile. In a production environment, the company can expect to incur read/write ratios between 75/25 percent and 66/33 percent, depending on the group of users being evaluated. For a mail system consisting of 2,000 heavily used mailboxes, a total of 1,500 IOPS is generated on the database volume.

      The formula to calculate this is:

      • Estimated IOPS per User for User Type × Number of Users

      In this example, .75 IOPS × 2,000 mailboxes=1,500 IOPS.

      Using a conservative ratio of two reads for every write (66 percent reads to 33 percent writes), you would plan for 1,000 read I/O and 500 write I/O requests per second for your database volume. Every write request is first written to the transaction log file and then written to the database. Approximately 10 percent of the total 1,500 IOPS seen on the database volume will be seen on the transaction log volume (10 percent of 1,500 is 150 IOPS); 500 write I/O requests will be written to the database. These estimated profiles are for an Exchange server that has no other components installed beyond the base operating system. If other variables, such as third-party Personal Information Management (PIM) software, MAPI-based virus scanning (server and client side), management and monitoring software, or backup software are used during peak usage periods, these profiles will not adequately describe the I/O profile in your organization. In these cases, you must also factor in the additional reads and writes that are requested by these applications.

      Additional information about performance metrics:

       

       

      Mechanical hard driveshttps://en.wikipedia.org/wiki/IOPS

      Some commonly accepted averages for random IO operations, calculated as 1/(seek + latency) = IOPS:

      Device

      Type

      IOPS

      Interface

      7,200 rpm SATA drives

      HDD

      ~75-100 IOPS[2]

      SATA 3 Gbit/s

      10,000 rpm SATA drives

      HDD

      ~125-150 IOPS[2]

      SATA 3 Gbit/s

      10,000 rpm SAS drives

      HDD

      ~140 IOPS[2]

      SAS

      15,000 rpm SAS drives

      HDD

      ~175-210 IOPS[2]

      SAS

      We can then make some assumptions.

      • 1 IOPS   =  1,750 Concurrent Users
      • .5 IOPS  =  3,500 Concurrent Users
      • .25 IOPS = 7,000 Concurrent Users

      Based on round robin, these concurrent User numbers would double.

      Additional information about calculation IO:

       

       

      Calculating IOPS requirements

      To determine the IOPS requirements for a database, look at the number of users hosted on the database and consider the guidance provided in the following table to compute total required IOPS when the database is active or passive.

      Messages sent or received per mailbox per day

      Estimated IOPS per mailbox (Active or Passive)

      50

      0.034

      100

      0.067

      150

      0.101

      200

      0.134

      250

      0.168

      300

      0.201

      350

      0.235

      400

      0.268

      450

      0.302

      500

      0.335





    Friday, June 28, 2019 7:22 PM

All replies