一、系统级基础优化
top、htop实时监控CPU、内存占用;vmstat查看虚拟内存统计(如swap使用);iostat监控磁盘I/O(读写速度、I/O等待时间);netstat查看网络连接状态,定位性能瓶颈。/etc/sysctl.conf,添加/修改以下参数优化网络与内存:net.ipv4.tcp_tw_reuse = 1(重用TIME-WAIT连接)、net.ipv4.tcp_fin_timeout = 30(缩短TCP连接关闭时间)、vm.swappiness = 10(降低对swap的依赖,10表示仅当内存剩余10%时使用swap)、vm.dirty_background_ratio = 5(脏页占内存5%时后台刷盘)、vm.dirty_ratio = 10(脏页占内存10%时强制刷盘);sudo sysctl -p使参数生效。systemctl list-unit-files --type=service查看运行中的服务,禁用postfix(邮件服务)、firewalld(防火墙,若无需则关)、NetworkManager(网络管理,若用传统方式则关)等服务,减少系统资源占用。noatime(不记录文件访问时间)、nodiratime(不记录目录访问时间)选项,减少磁盘I/O(编辑/etc/fstab,如/dev/sda1 / xfs defaults,noatime,nodiratime 0 0)。二、硬件资源升级
三、DolphinScheduler特定优化(分布式任务调度)
worker.cpus)、内存(如worker.memory)资源,避免资源浪费或不足(如一个MapReduce任务分配2核4G,而非4核8G)。priority参数,1-10,数值越大优先级越高),确保关键任务(如实时报表)优先获得资源;dependsOn参数),避免不必要的等待(如Task B依赖Task A的结果,才触发Task B)。四、DolphinDB特定优化(时序数据库)
SELECT *,只查询所需字段(如SELECT time, value FROM sensor_data);WHERE time > '2025-01-01'提前过滤数据),减少数据扫描量;EXPLAIN命令分析查询计划,找出慢查询(如全表扫描)并优化。WHERE条件列(如sensor_id)创建索引(create index idx_sensor on sensor_data(sensor_id));alter index idx_sensor rebuild),保持索引性能;OPTIMIZE TABLE命令清理碎片,提高查询速度。/usr/local/dolphindb/conf/dolphindb.cfg,调整关键参数:maxConnections = 1000(增加最大连接数,适应高并发);dataDir = /data/dolphindb(将数据目录放在SSD上);threadNum = 16(增加线程数,提高并发处理能力)。五、日常维护
/tmp)、日志文件(/var/log),释放磁盘空间(如用rm -rf /tmp/*、logrotate工具轮转日志)。sysstat(sar命令)、Grafana+Prometheus搭建监控体系,监控CPU、内存、磁盘I/O、网络等指标,设置预警阈值(如内存使用率超过80%时报警),及时处理性能问题。