ATS调优
目的
通过调优ATS配置文件,可以有效的提高ATS应用的性能。
方法
- 根据启动ATS的时候使用numactl控制ATS使用的CPU及内存,防止ATS进程跨片,提升性能。
1
numactl --cpunodebind=0,1 -m 0,1 trafficserver start
命令中0和1表示使用的是numa0和numa1。
- 使用cgroup限制ATS的线程使用的资源,否则可能出现线程跨片。numactl是为了限制manager进程的位置和资源使用,cgroup是为了限制server进程的位置和资源使用。
1 2 3 4 5 6 7 8 9 10
#!/bin/bash PID=$(pidof traffic_server) ATS_CGROUP_CPU_DIR=/sys/fs/cgroup/cpuset/trafficserver if [ ! -d $ATS_CGROUP_CPU_DIR ]; then mkdir $ATS_CGROUP_CPU_DIR fi cd $ATS_CGROUP_CPU_DIR echo "0-15" > cpuset.cpus echo "0" > cpuset.mems echo $PID > cgroup.procs
- 通过配置records.config优化线程选项。records.config优化线程选项说明如表1所示。
表1 records.config优化线程选项说明 选项
说明
CONFIG proxy.config.exec_thread.autoconfig INT 0
配置固定线程数量,不使用自动增加线程功能,配合cgroup可以有效防止线程跨片。
CONFIG proxy.config.exec_thread.limit INT 16
每个核启动16个线程,经验证性能可以达到最优。
CONFIG proxy.config.accept_threads INT 16
对数据接收使用专门的线程处理。
CONFIG proxy.config.task_threads INT 32
处理http请求的线程数量。
CONFIG proxy.config.cache.threads_per_disk INT 16
处理磁盘IO的线程数量。
- 修改配置使用所有磁盘,并为每个磁盘分配均衡的使用比例。
- 配置storage.config文件。
- 打开文件。
1
vim storage.config
- 按“i”进入编辑模式,配置如下内容。
/dev/sda volume=1 /dev/sdb volume=2 /dev/sdd volume=3 /dev/sde volume=4 /dev/sdf volume=5 /dev/sdg volume=6 /dev/sdh volume=7 /dev/sdi volume=8 /dev/sdj volume=9
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开文件。
- 配置hosting.config文件。
- 打开hosting.config文件。
1
vim hosting.config
- 按“i”进入编辑模式,配置如下内容。
hostname=* volume=1,2,3,4,5,6,7,8,9
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开hosting.config文件。
- 配置volume.config文件。
- 打开volume.config文件。
1
vim volume.config
- 按“i”进入编辑模式,配置如下内容。
volume=1 scheme=http size=11% volume=2 scheme=http size=11% volume=3 scheme=http size=11% volume=4 scheme=http size=11% volume=5 scheme=http size=11% volume=6 scheme=http size=11% volume=7 scheme=http size=11% volume=8 scheme=http size=11% volume=9 scheme=http size=12%
- 按“Esc”键,输入:wq!,按“Enter”保存并退出编辑。
- 打开volume.config文件。
- 配置storage.config文件。
父主题: 应用调优