linux性能调优的参数配置
时间: 2023-10-23 21:51:35 浏览: 152
1. 内核参数调优:
a. 内存参数:
vm.swappiness:控制系统交换(swap)的程度。默认值为60,建议将其调小到10-30。
vm.dirty_ratio和vm.dirty_background_ratio:控制内核脏页的数量。建议将vm.dirty_ratio设置为20-40,将vm.dirty_background_ratio设置为10-20。
vm.min_free_kbytes:控制系统空闲内存的最小值。建议将其设置为系统内存的2%-10%。
b. 网络参数:
net.core.somaxconn:控制连接队列的大小。建议将其设置为1024。
net.core.netdev_max_backlog:控制接收队列的最大长度。建议将其设置为1024。
net.ipv4.tcp_max_syn_backlog:控制SYN队列的最大长度。建议将其设置为1024。
c. 文件系统参数:
fs.file-max:控制系统的文件句柄数量。建议将其设置为最大值。
fs.aio-max-nr:控制系统异步I/O的数量。建议将其设置为最大值。
d. CPU参数:
kernel.sched_min_granularity_ns和kernel.sched_wakeup_granularity_ns:控制调度器的最小调度粒度和唤醒粒度。建议将其设置为1ms。
kernel.sched_migration_cost_ns:控制进程迁移的成本。建议将其设置为50us。
2. 应用程序参数调优:
a. JVM参数:
-Xms和-Xmx:控制JVM的初始堆大小和最大堆大小。建议将其设置为合适的值。
-XX:+PrintGC和-XX:+PrintGCDetails:启用GC日志和详细信息。
-XX:+UseG1GC:启用G1 GC。
b. 数据库参数:
innodb_buffer_pool_size:控制InnoDB缓冲池的大小。建议将其设置为系统内存的50%-80%。
innodb_flush_log_at_trx_commit:控制事务提交时日志的写入方式。建议将其设置为1。
innodb_thread_concurrency和innodb_read_io_threads:控制InnoDB线程的数量。建议将其设置为合适的值。
c. Web服务器参数:
MaxClients:控制Apache的最大客户端数量。建议将其设置为服务器硬件能够承受的最大值。
KeepAliveTimeout:控制HTTP Keep-Alive连接的超时时间。建议将其设置为15秒。
MaxKeepAliveRequests:控制HTTP Keep-Alive连接的最大请求数。建议将其设置为100。
阅读全文