Nginx下载服务生产服务器的调优

一、内存调优

内核关于内存的选项都在/proc/sys/vm目录下.

1.pdflush,用于回写内存中的脏数据到硬盘。可以通过 /proc/sys/vm/vm.dirty_background_ratio调整。

首先查看这个值默认应该是10。

[root@esf ~]# cat /proc/sys/vm/dirty_background_ratio

10

这个值是一个阀值,说明如果内存中的脏数据达到系统总内存的10%时,那么pdflush进程就会启动,将内存中的脏数据写回硬盘.这个值可适当调高.可获得更快的写入速度.

2.swappiness选项

[root@esf ~]# cat /proc/sys/vm/swappiness

60

swappiness表示使用swap分区的使用程度,可以适当调整swappiness=0的时候表示尽可能使用物理内存swap空间.swappiness=100积极使用swap.

3.dirty_ratio

[root@esf ~]# cat /proc/sys/vm/dirty_ratio

40

dirty_ratio的值是数据写进内存的阀值,40%是指当系统内存已经缓存了40%的数据以后,就不再往内存中缓存数据了.

二、磁盘I/O调优

Linux磁盘I/O调优

一)、     概述

1.   磁盘调优目录:/sys/block

2.   磁盘调优均是调内核参数,要求安装kernel-doc包,

3.   调预先读请求量(默认为128kb)

# blockdev --getra /dev/sda

# blockdev --setra 512 /dev/sda

实际修改/sys/block/sda/queue/read_ahead_kb=256kb;如果读情况多则将此参数调大一点,如写请求读,则将此参数调小一点

4.   调磁盘队列:队列长则处理快,提升硬盘的吞吐量,但会消耗更大的内存

Queue length:/sys/block/sda/queue/nr_requests

# cat /sys/block/sda/queue/nr_requests

512

#默认128,没有单位

二)、 磁盘I/O的4种调度算法

1.   CFQ(完全公平排队I/O调度程序)(elevator=cfq)

特点:

这是默认算法,对于通用服务器来说通常是最好的选择。它试图均匀地分布对I/O带宽的访问。是deadline和anticipatory调度器的折中方案.

CFQ对于多媒体应用(video,audio)和桌面系统是最好的选择.

CFQ赋予I/O请求一个优先级,而I/O优先级请求独立于进程优先级,高优先级的进程的读写不能自动地继承高的I/O优先级.

CFQ基于64位的队列请求,使用的轮询的方法处理队列.

调优参数:

#  /sys/block/sda/queue/iosched/queued:轮询时每次处理的最大请求数

#  /sys/block/sda/queue/iosched/quantum:每隔多少个请求数做一次轮询

cfq调优工具ionice

ionice可以更改任务的类型和优先级,不过只有cfq调度程序可以用ionice.

时间: 2025-01-03 08:40:35

Nginx下载服务生产服务器的调优的相关文章

如何对MySQL服务器进行调优

如今,开发人员不断地开发和部署使用LAMP(Linux?.Apache.MySQL 和 PHP/Perl)架构的应用程序.但是,服务器管理员常常对应用程序本身没有什么控制能力,因为应用程序是别人编写的.本文重点讨论为实现最高效率而对数据库层进行的调优. 有3种方法可以加快MySQL服务器的运行速度,效率从低到高依次为: 替换有问题的硬件.对MySQL进程的设置进行调优.对查询进行优化. 替换有问题的硬件通常是我们的第一考虑,主要原因是数据库会占用大量资源.不过这种解决方案也就仅限于此了.实际上,

通用linux接口服务器参数调优

1. 如果需要支撑百万级同时在线数,需要对linux默认内核参数进行调整,我们的典型配置是在 /etc/sysctl.conf增加以下内容: net.ipv4.tcp_max_orphans = 262144 net.ipv4.tcp_no_metrics_save=1 net.ipv4.tcp_window_scaling = 0 net.ipv4.tcp_max_syn_backlog = 120000     net.core.netdev_max_backlog = 120000    

mysql服务器的几个调优技巧,让 MySQL 服务器飞速运行

关于 MySQL 调优 有 3 种方法可以加快 MySQL 服务器的运行速度,效率从低到高依次为: 替换有问题的硬件. 对 MySQL 进程的设置进行调优. 对查询进行优化. 替换有问题的硬件通常是我们的第一考虑,主要原因是数据库会占用大量资源.不过这种解决方案也就仅限于此了.实际上,您通常可以让中央处理器(CPU)或磁盘速度加倍,也可以让内存增大 4 到 8 倍. 第二种方法是对 MySQL 服务器(也称为 mysqld) 进行调优.对这个进程进行调优意味着适当地分配内存,并让 mysqld

linux io/系统/内存性能调优整理

 为什么要性能调优? 大部分的linux发行版是为了完全兼容市场中大部分计算机而设计的.这是一个相当混杂的硬件集合(硬盘,显卡,网卡,等等).所以Red Hat, Suse,Mandriva和其他的一些发行版厂商选择了一些保守的设置来确保安装成功. 简单地说:你的发行版运行的很好,但是它可以运行地更好! 比如,可能有一个具体一些特殊特性的高级硬盘,而这些特性在标准配置的情况下可能就没被启用. 磁盘子系统的调优 对于Linux的Ext3/4来说,几乎在所有情况下都有所帮助的一个参数是关闭文件系统访

Windows Server 2016进行性能调优?

微软已发布了官方Windows Server 2016性能调优指南.这是一个全面的指南,提供了一系列技术文章,其中包含对IT专业人员的指导,提供对负责部署,操作和调优Windows Server 2016最常见的服务器工作负载的指导. ▲ Windows Server 2016性能调优 Windows Server性能调优指南是微软提供的关键文档,以确保现场工程师(PFE,CSS等)具有调整和优化操作系统所需的规范信息. Windows Server 2016性能调优提示 通过考虑硬件,功率预算

Nginx源码安装及调优配置

由于Nginx本身的一些优点,轻量,开源,易用,越来越多的公司使用nginx作为自己公司的web应用服务器,本文详细介绍nginx源码安装的同时并对nginx进行优化配置. Nginx编译前的优化 [root@linuxprobe ~]# wget http://nginx.org/download/nginx-1.10.1.tar.gz [root@linuxprobe ~]# tar xvf nginx-1.10.1.tar.gz -C /usr/local/src/ [root@linux

jvm系列(六):Java服务GC参数调优案例

本文介绍了一次生产环境的JVM GC相关参数的调优过程,通过参数的调整避免了GC卡顿对JAVA服务成功率的影响. 这段时间在整理jvm系列的文章,无意中发现本文,作者思路清晰通过步步分析最终解决问题.我个人特别喜欢这种实战类的内容,经原作者的授权同意,将文章分享于此.备注部分为本人添加,主要起到说明的作用. 原文出处:https://segmentfault.com/a/1190000005174819 背景以及遇到的问题 我们的Java HTTP服务属于OLTP类型,对成功率和响应时间的要求比

Nginx SSL 性能调优

这篇文章的目的是要谈谈我的 Nginx 调优经验,就不涉及数据库调优的内容了. 初始服务器设置 我的服务器运行在亚马逊 EC2 t1 micro 上,选择 Nginx + PHP5-fpm 作为后端,因为一些安全因素还打开了SSL. 性能测试 我使用了Blitz.io 来进行压力测试.下面是我使用的命令参数: -p 1-250:60 https://mydomian.com 这是一个用户线性递增的测试,每个测试用户跑60秒.Blitz.io为每个请求每秒增加4个( = rise / run =

LAMP系统性能调优之MySQL服务器调优

如今,开发人员不断地开发和部署使用LAMP(Linux.Apache.MySQL 和 PHP/Perl)架构的应用程序.但是,服务器管理员常常对应用程序本身没有什么控制能力,因为应用程序是别人编写的.本文重点讨论为实现最高效率而对数据库层进行的调优. 关于 MySQL 调优 有3 种方法可以加快 MySQL服务器的运行速度,效率从低到高依次为: 替换有问题的硬件. 对MySQL进程的设置进行调优. 对查询进行优化. 替换有问题的硬件通常是我们的第一考虑,主要原因是数据库会占用大量资源.不过这种解