jmarantz commented on issue #1626: LoadFromFileCacheTtlMs is quite broken
URL: 
https://github.com/apache/incubator-pagespeed-ngx/issues/1626#issuecomment-466653120
 
 
   TL;DR: only use LoadFromFile on a local physical disk where stat() is cheap. 
Never use LoadFromFile on a mounted file system.
   
   RE stat() overhead per-request: your observation is spot-on, and reflects 
the intended design, and does result in a stat() call on each resource every 
time it is referenced in an HTML file.
   
   This is intended as an alternative to using HTTP-fetching and a file-cache. 
It avoids the HTTP fetch (and also side-steps any issues you might have with 
HTTPS fetching). A tradeoff is that it doesn't have access to the HTTP origin 
headers for your assets, so it doesn't know how often to re-check to see if the 
origin asset has changed. This also means that changes to assets take place 
immediately; they don't need to expire out of cache.
   
   If stat() takes along time (e.g. it's a mounted system) then definitely 
don't use LoadFromFile; use HTTP fetching so we can get cache TTLs and periodic 
checking of how up-to-date the contents are, based on the origin TTL that you 
control per normal HTTP caching headers.
   
   If you say `LoadFromFileCacheTtlMs 999` you are saying the origin assets are 
valid for less than a second. This is not a scenario PageSpeed was designed 
for, but I admit the handling could be better -- e.g. just do nothing with the 
asset. 
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to