On Wed, Apr 27, 2005 at 08:26:15AM -0600, Patrick Walsh wrote:
>       One thing that I'd also like to see -- maybe its place is on the wiki
> -- is a list of Coda's constraints.  How many files in a directory can
> coda handle, what are the limitations when working with big files, etc.

Some of these I know, but there are probably many I don't even know.

    volume names:       32 characters
    file names:         256 characters
    path names:         1024 characters
    ACLs per directory: 20
        - Don't know why I always thought it was 6

    directory size:     256KB
        - this doesn't easily translate to # of files, because it
          depends on the average filename size, padding, space for the
          file identifiers, etc.
          a ballpark figure would be between 2048 and 4096 files.

    volumes/server:     1024
    replicas/volume:    8
    users and groups:   unknown, I tried several thousand
    users/group:        unknown, at least several thousand as well
      - Here is a CVS commit message related to that,
        2003/06/17 20:39:23     <[EMAIL PROTECTED]>
        Caching the rwcdb handle across accesses. Time to import 5000 users
        and a group containing all users went (on my laptop) from 21+ minutes
        to 11.621 seconds. The 100,000 user test is taking a lot longer to
        import but checking group membership as the import is still going

    directories/volume: Depends on the size of the volume resolution log
      - We use one 'ResolveNull' entry for each directory.

    resolution log:     Administrative limit
      - By default a volume has 4096 entries, but this can be increased
        with 'volutil setlogparms <volid> reson 4 logsize <n>'.

    files/volume:       Unknown
      - not as simple as (files/directory * directories/volume) because
        at some point we have trouble finding enough unfragmented RVM
        memory to allocate the flat lookup table. I think RVM allocation
        issues hit around 200,000 files/volume, but I could be wrong.

    servers/realm:      253
      - We need unique server-id's in the range [0:255]. But 0, 127, and
        255 are 'reserved' to indicate 'no volume, replicated volume,
        and error'.

    rvm data/server:    anywhere between 1GB and 3GB
      - depends on where the OS loads it's shared libraries and such.

    ... probably many more

Jan

Reply via email to