You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@trafficserver.apache.org by GitBox <gi...@apache.org> on 2022/03/06 16:03:52 UTC

[GitHub] [trafficserver] amoghyermalkar123 opened a new issue #8713: ZFS Integration

amoghyermalkar123 opened a new issue #8713:
URL: https://github.com/apache/trafficserver/issues/8713


   Can I get a detailed explanation of how (and how well) ATS will perform with ZFS as file system?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficserver] rob05c commented on issue #8713: ZFS Integration

Posted by GitBox <gi...@apache.org>.
rob05c commented on issue #8713:
URL: https://github.com/apache/trafficserver/issues/8713#issuecomment-1064688035


   > Ok, basically ATS doesn't even need any sort of FS for caching if it's interacting directly with the block devices.
   
   Right. To use a block device, don't put a filesystem on the hard drive, and give ATS the raw block device as the cache, e.g. `/dev/sdd` (or whatever your drive is mounted as).
   
   So your `storage.config` will look something like:
   ```
   /dev/sdd volume=1
   /dev/sde volume=2
   ```
   Where `/dev/sdd` and `/dev/sde` are your hard drives, and you have configured volumes `1` and `2` in `volume.config`. See:
   https://docs.trafficserver.apache.org/en/latest/admin-guide/files/storage.config.en.html
   https://docs.trafficserver.apache.org/en/latest/admin-guide/files/volume.config.en.html
   
   > if ATS interacts with the hardware directly, how are FS's introducing an overhead?
   
   You can give ATS either file(s) or block device(s) for cache. If you give it a file, that file resides on a filesystem, and ATS's interactions with it come with all the overhead of the FS. If you give it a raw block device (e.g. `/dev/sdd`), there is no filesystem or corresponding overhead.
   
   * _Technically_ the block device isn't interacting directly with the hardware, it's still going thru the Linux Kernel. To interact directly with hardware, you'd need to write a device driver and/or kernel module. But I don't think that distinction is relevant here; ATS doesn't support that, and it'd be very little performance gain for enormous development cost.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficserver] bryancall closed issue #8713: ZFS Integration

Posted by GitBox <gi...@apache.org>.
bryancall closed issue #8713:
URL: https://github.com/apache/trafficserver/issues/8713


   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficserver] rob05c edited a comment on issue #8713: ZFS Integration

Posted by GitBox <gi...@apache.org>.
rob05c edited a comment on issue #8713:
URL: https://github.com/apache/trafficserver/issues/8713#issuecomment-1064688035


   > Ok, basically ATS doesn't even need any sort of FS for caching if it's interacting directly with the block devices.
   
   Right. To use a block device, don't put a filesystem on the hard drive, and give ATS the raw block device as the cache, e.g. `/dev/sdd` (or whatever your drive is mounted as).
   
   So your `storage.config` will look something like:
   ```
   /dev/sdd volume=1
   /dev/sde volume=2
   ```
   Where `/dev/sdd` and `/dev/sde` are your hard drives, and you have configured volumes `1` and `2` in `volume.config`. See:
   https://docs.trafficserver.apache.org/en/latest/admin-guide/files/storage.config.en.html
   https://docs.trafficserver.apache.org/en/latest/admin-guide/files/volume.config.en.html
   
   > if ATS interacts with the hardware directly, how are FS's introducing an overhead?
   
   You can give ATS either file(s) or block device(s) for cache. If you give it a file, that file resides on a filesystem, and ATS's interactions with it come with all the overhead of the FS. If you give it a raw block device (e.g. `/dev/sdd`), there is no filesystem or corresponding overhead.
   
   \* _Technically_ the block device isn't interacting directly with the hardware, it's still going thru the Linux Kernel. To interact directly with hardware, you'd need to write a device driver and/or kernel module. But I don't think that distinction is relevant here; ATS doesn't support that, and it'd be very little performance gain for enormous development cost.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficserver] rob05c commented on issue #8713: ZFS Integration

Posted by GitBox <gi...@apache.org>.
rob05c commented on issue #8713:
URL: https://github.com/apache/trafficserver/issues/8713#issuecomment-1063379521


   Do you mean for ATS itself? Or for its cache?
   
   I'm not aware of anyone having tested, but I can hypothesize.
   
   For ATS itself, it shouldn't affect performance. ATS doesn't request things from disk during HTTP requests, other than the cache. ZFS might make it a little slower to load and reload config files. But it shouldn't affect requests/second.
   
   ATS is capable of using both raw block devices or ordinary files as a disk cache.
   
   If you mean using a file on a ZFS filesystem as a disk cache -- I wouldn't recommend it.
   
   Giving ATS a raw block device for a cache is highly recommended for production systems. Raw block devices perform significantly better than files on filesystems, due to the overhead of the filesystem. A next-generation FS like ZFS will likely perform worse than a previous gen like ext4, because of overhead like checksums. On the other hand, ZFS has memory caching, so it might actually perform better.
   
   But raw block devices are highly recommended. ATS has its own memory cache in front of the disk cache, and the disk cache is optimized for block devices, and it avoids all that unnecessary filesystem overhead.


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org



[GitHub] [trafficserver] amoghyermalkar123 commented on issue #8713: ZFS Integration

Posted by GitBox <gi...@apache.org>.
amoghyermalkar123 commented on issue #8713:
URL: https://github.com/apache/trafficserver/issues/8713#issuecomment-1063600279


   Ok, basically ATS doesn't even need any sort of FS for caching if it's interacting directly with the block devices.
   
   Also yes I meant ZFS integration for caching. One follow up question, if ATS interacts with the hardware directly, how are FS's introducing an overhead?


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@trafficserver.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org