刚刚在论坛看到一个帖子,说SillyTavern每次打开都要8秒。
帖子里的佬友有提到是默认没开缓存的问题。
我试了下,确实是这个问题,优化后效果挺明显。
默认设置
优化后
首次加载
8.2 秒
6.1 秒
刷新页面
7.9 秒
2.3 秒
录了个实测视频
主要有下面这些改动,改起来挺方便的。
1. 关闭浏览器缓存cacheBuster
在 config.yaml 里把 cacheBuster.enabled 改成 false。
这样就不会强制清理 JS、CSS 这些文件的缓村内容。
2. 给静态资源加缓存头
在 src/server-main.js 里调整 express.static 的配置:
app.use(express.static(path.join(serverDirectory, 'public'), {
maxAge: '1d', // 缓存 1 天
etag: true, // 启用 ETag
lastModified: true, // 启用 Last-Modified
setHeaders: (res, filePath) => {
// 对于不经常变化的资源,设置更长的缓存时间
if (filePath.match(/\.(js|css|woff|woff2|ttf|svg|png|jpg|jpeg|gif|ico)$/)) {
res.setHeader('Cache-Control', 'public, max-age=86400, must-revalidate'); // 1 天
}
// 对于 HTML 文件,使用较短的缓存或协商缓存
if (filePath.match(/\.html$/)) {
res.setHeader('Cache-Control', 'public, max-age=3600, must-revalidate'); // 1 小时
}
},
}));
重启程序后打开浏览器开发者工具,看 Network 面板。刷新后大部分变成from cache,耗时非常端。
image673×516 12.1 KB