影响机理与瓶颈点
Debian 下的性能优化实践
量化评估与瓶颈定位
Debian 配置示例
const winston = require('winston');
const logger = winston.createLogger({
level: 'info', // 生产建议:'warn' 或 'error'
format: winston.format.combine(
winston.format.timestamp(),
winston.format.json()
),
transports: [
new winston.transports.File({ filename: 'logs/error.log', level: 'error' }),
new winston.transports.File({ filename: 'logs/combined.log' })
]
});
logger.info('服务已启动', { port: 3000 });
logger.error('数据库连接失败', { reason: 'timeout' });
/var/www/myapp/logs/*.log {
daily
rotate 7
compress
delaycompress
missingok
notifempty
create 0640 www-data www-data
postrotate
# 通知应用重新打开日志;PM2 场景可执行:
# pm2 reload logs
endscript
}
说明:上述组合可在不改动业务代码的前提下,显著降低日志对事件循环与磁盘 I/O 的影响,并通过轮转控制文件尺寸与历史留存。