1. 监控系统资源瓶颈
使用top/htop实时查看CPU、内存占用情况,定位高消耗进程;通过free -m检查内存使用率(若接近100%,需增加内存或优化应用内存分配);用df -h确认磁盘空间(剩余空间建议保留20%以上);借助vmstat 1监控虚拟内存、I/O等待时间,iostat -x 1分析磁盘I/O负载(如await值过高需优化磁盘)。这些步骤能快速识别性能瓶颈,为后续优化提供依据。
2. 清理系统垃圾文件
定期删除临时文件(rm -rf /tmp/*)、旧日志(journalctl --vacuum-time=7清理7天前日志)及无用软件包(yum autoremove),释放磁盘空间,减少I/O压力。
1. 增加内存
Dolphin(无论是文件管理器还是数据库)对内存需求较高,若系统内存不足(如小于8GB),建议升级至16GB及以上,避免频繁使用Swap分区(会大幅降低I/O速度)。
2. 更换高性能存储
3. 优化网络设备
ethtool开启巨帧(ethtool -G eth0 rx 4096 tx 4096);bonding技术绑定2块网卡(模式选balance-rr或802.3ad),提高网络吞吐量和冗余性。1. 调整内存管理参数
编辑/etc/sysctl.conf,添加以下内容以减少Swap使用、优化内存回收:
vm.swappiness = 10 # 降低Swap倾向(默认60,建议10-30)
vm.dirty_background_ratio = 5 # 后台脏页刷新阈值(默认10,降低可减少I/O峰值)
vm.dirty_ratio = 10 # 强制脏页刷新阈值(默认20,降低可提升写入一致性)
执行sysctl -p使配置生效。
2. 优化TCP网络参数
在/etc/sysctl.conf中添加以下内容,提升网络传输效率:
net.ipv4.tcp_tw_reuse = 1 # 复用TIME-WAIT状态的连接
net.ipv4.tcp_fin_timeout = 30 # TIME-WAIT超时时间(默认60,缩短可快速释放端口)
net.ipv4.tcp_max_syn_backlog = 8192 # SYN队列长度(默认1024,高并发场景需增大)
net.ipv4.tcp_max_orphans = 32768 # 孤儿连接最大数量(避免连接泄漏耗尽资源)
执行sysctl -p生效。
3. 调整I/O调度器
根据磁盘类型选择合适调度器(通过cat /sys/block/sda/queue/scheduler查看当前调度器):
noop(无队列调度,发挥硬件性能);deadline(保证I/O请求的响应时间,适合机械硬盘)。echo deadline > /sys/block/sda/queue/scheduler(需重启生效)。1. 配置文件优化
编辑/usr/local/dolphindb/conf/dolphindb.cfg,调整以下参数:
maxConnections = 1000 # 最大客户端连接数(根据并发需求调整)
dataDir = /data/dolphindb # 数据目录(建议放在SSD)
localDir = /data/dolphindb/local # 本地数据目录(用于临时文件)
确保目录权限正确(chown -R dolphindb:dolphindb /data/dolphindb)。
2. 启用缓存机制
cacheSize参数调整缓存大小(如cacheSize=8G,根据内存大小设置);tableInsert将结果写入内存表(memTable),减少重复计算。3. 优化查询脚本
where条件过滤数据时,尽量利用分区剪枝(如按日期分区,查询时指定日期范围);create index idx_name on table_name(column_name))。1. 关闭不必要的服务
使用systemctl list-unit-files --type=service查看运行中的服务,禁用不需要的服务(如postfix邮件服务、firewalld防火墙(若用iptables替代)、NetworkManager(若用传统网络配置)):
systemctl stop postfix && systemctl disable postfix
systemctl stop firewalld && systemctl disable firewalld
systemctl stop NetworkManager && systemctl enable network
减少后台进程对CPU、内存的占用。
2. 控制作业优先级
使用nice/renice调整进程优先级(nice值越小,优先级越高):
nice -n -10 dolphindb # 启动DolphinDB时提高优先级(-10表示高优先级)
renice -n -5 -p 1234 # 调整PID为1234的进程优先级(-5表示提高优先级)
确保关键作业(如数据写入)优先获得CPU资源。