调整 Linux 系统
本主题描述如何调整Linux操作系统以提高Web Server的性能。
-------------------------------------------------------
cat /proc/sys/net/ipv4/tcp_fin_timeout
cat /proc/sys/net/core/netdev_max_backlog
cat /proc/sys/net/core/somaxconn
cat /proc/sys/net/ipv4/tcp_keepalive_intvl
cat /proc/sys/net/ipv4/tcp_keepalive_probes
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
echo 3000 > /proc/sys/net/core/netdev_max_backlog
echo 3000 > /proc/sys/net/core/somaxconn
echo 15 > /proc/sys/net/ipv4/tcp_keepalive_intvl
echo 5 > /proc/sys/net/ipv4/tcp_keepalive_probes
-------------------------------------------------------
关于本任务
遇到性能问题时,请检查操作系统设置以确定这些设置是否适合于您的应用程序。
过程
根据调整需求,配置下列设置和变量:
timeout_timewait参数
描述:确定TCP/IP在释放已关闭的连接并再次使用其资源前必须经过的时间。关闭与释放之间的这段时间称为 TIME_WAIT 状态或者两倍最大段生存期(2MSL)状态。此时间
期间,重新打开到客户机和服务器的连接的成本少于建立新连接。通过减少此条目的值,TCP/IP 可以更快地释放关闭的连接,并为新连接提供更多资源。如果正在运行的应用
程序需要快速释放连接、创建新的连接,并且因为许多连接处于TIME_WAIT状态而导致低吞吐量,那么调整此参数。
如何查看或设置:
发出以下命令,将 timeout_timewait 参数设置为30秒:
echo 30 > /proc/sys/net/ipv4/tcp_fin_timeout
SUSE Linux Enterprise Server 8(SLES 8)SP2A - sched_yield_scale 调整
描述:Linux调度程序对上下文切换过度非常敏感,因此,已将修订包集成到 SLES 内核分发中,以便在线程发生处理时引入延迟。在SLES 8 SP3中将自动启用此修订包,但在
SLES 8 SP2A 或更高版本中,必须明确地启用它。
如何查看或设置:
将 SLES 8 service pack 升级到 SP2A。
发出 sysctl -w sched_yield_scale=1 命令。
缺省值:0
建议值:1
RedHat Advanced Server 2.1 内核更新
描述:RedHat Advanced Server 2.1 的内核更新已实现了影响WebSphere Application Server性能(尤其是内存到内存 HTTP 会话复制性能)的更改。
如何查看或设置:
发出 uname -a 命令
如果正在运行 2.4.9-e.23 之前的任何内核,请至少升级到 RedHat Advanced Server 2.1 内核,最好升级到受支持的最新内核。
缺省值:2.4.9-e.3
建议值:2.4.9-e.23
Linux 文件描述符(ulimit)
描述:指定支持打开的文件数。通常,缺省设置适合于大多数应用程序。如果将此参数值设置得太小,那么可能会显示文件打开错误、内存分配故障或连接建立错误。
如何查看或设置:请参阅有关 ulimit 命令的 UNIX 参考页面以了解不同 shell 的语法。对于 KornShell shell(ksh)程序,要将 ulimit 命令设置为 8000,请发出
ulimit -n 8000 命令。使用 ulimit -a 命令来显示所有系统资源限制的当前值。
缺省值:对于 SUSE Linux Enterprise Server 9(SLES 9),缺省值是 1024。
建议值:8000
连接储备
描述:当由于入局连接请求比率过高而导致连接故障时,请更改下列参数:
echo 3000 > /proc/sys/net/core/netdev_max_backlog
echo 3000 > /proc/sys/net/core/somaxconn
TCP_KEEPALIVE_INTERVAL
描述:确定两次isAlive时间间隔探测之间的等待时间。
如何查看或设置:发出以下命令来设置此值:
echo 15 > /proc/sys/net/ipv4/tcp_keepalive_intvl
缺省值:75 秒
建议值:15 秒
TCP_KEEPALIVE_PROBES
描述:确定超时前的探测次数。
如何查看或设置:发出以下命令来设置此值:
echo 5 > /proc/sys/net/ipv4/tcp_keepalive_probes
缺省值:9 秒
建议值:5 秒
为 Java 虚拟机(JVM)堆分配大页(针对 SLES 9 测试)
某些应用程序要求使用非常大的堆以提高性能。通过使用CPU和操作系统提供的“大页”支持,可以降低 CPU 管理大型堆的开销。以下示例假定大页大小为 4MB,并且期望的
堆大小为 2300MB。
通过sysctl.conf文件(此文件通常是 /etc/sysctl.conf)设置下列三个设置。
注: 您必须具有 root 用户访问权才能修改此文件。并且,在尝试修改此文件前,请验证此文件是否是只读的。
通过发出以下命令,设置大页数(2300MB = 575 * 4MB):
vm.nr_hugepages = 575
通过发出以下命令,将最大共享段大小设置为 2300MB 加上一个较小的增量(大约 95MB)(2511724800 = 2300MB * 1048576 字节/MB + 100000000 字节):
kernel.shmmax = 2511724800
通过发出以下命令,设置要共享的总内存量:
kernel.shmall = 2511724800
指定-Xlp JVM选项,以使JVM堆能够利用大页。
将Xmx JVM选项设置为 2300MB。
将程序文本重新定位到较低的虚拟内存地址(0x10000000)中,从而为较大的堆提供更多地址空间。在 SUSE Linux Enterprise Server 9 上,请运行以下命令来重新定位
JVM 调用脚本或 .profile 文件中的文本:
echo "0x10000000" > /proc/self/mapped_base
分享到:
相关推荐
linux C++实现的webserver 包含tcpserver和tcpclient,线程池,select模式, epoll的LT和ET模式
一个应用linux socket 编程的http web server 基于 ip/tcp 协议
了解Webserver在目标平台的移植 了解TCP/IP协议格式 掌握网络通信的编程方法 掌握Qt编程方法及技巧
这个是只支持debian系列系统的测试工具,用于测试tcp、udp连接发送数据。目前使用中未发现不兼容问题,感觉设计和使用还是很不错的。
linux环境 c++实现的httpserver, 包含tcpserver、tcpclient,其中tcpserver包含单线程、多线程、select模式、线程池、epool等几种实现
(牛客网C++课程)Linux 高并发Web服务器项目实战(带定时检测代码) 技术框架: 1. 线程池 + 非阻塞 socket + epoll + 事件处理的并发模型 2. 状态机解析HTTP请求 3. 心跳机制 4. 简易日志系统 主要内容: 1. ...
ESP8266-Webserver 该Arduino草图将ESP8266作为接入点启动,并提供了一个Web界面来配置WiFi凭证并控制ESP的GPIO引脚。 这段代码使用了,这是一个出色的Arduino库,用于对ESP8266进行编程。 主页: WiFi设置页面:...
Learn how to automate installation using Kickstart, set up print and Web servers, configure and secure networks and TCP/IP ports, and implement Linux virtualization. You'll also get details on ...
This book is designed as an Ubuntu 15.04 server reference, covering the Ubuntu servers and their support applications. Server tools are covered as well as the underlying configuration files and system...
目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网http代理、内网socks5代理、p2p等,并带有功能强大的web管理端...
内容产品特点跨平台(Linux,OSX,Windows) 异步通讯支持的传输协议: , , , 支持的Web协议: , , , 支持的迭代文档要求Linux OSX Windows 10可选的:如何建造?设置库git clone ...
9.23.11 安全的TCP/IP连接 276 9.23.12 通过ssh运行安全隧道 276 9.24 增加与删除用户 276 9.25 磁盘管理—支持大型数据库 277 9.26 管理数据库 278 9.26.1 创建数据库 278 9.26.2 访问数据库 278 9.26.3 删除数据库...
1.5 Linux 的发展.................................................................................................. 11 1.5.1 Linux 的发展历史 ............................................................
本书全面系统地介绍了Red Hat Linux 6。全书共分为五个部分,包括35章和四个附录。第一部分为Red Hat Linux的介绍和安装;第二部分为服务配置;第三部分为系统管理;第四部分为Linux编程;第五部分为附录。本书内容...
由于Intranet突破了传统的企业管理信息系统的系统模式,采用了多层的Client/Server模式,并利用业已成熟而广泛采用的Internet技术,因此,现代企业网络都采用以Web为核心应用,以TCP/IP、HTTP为传输协议,通过浏览器...
xs-box-client 是一个将局域网个人电脑、服务器代理到公网的内网穿透工具,支持tcp流量转发,可支持任何tcp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面...)。可以让外网直接访问本地网站 ...
Hence, it becomes possible for the attacker to issue a command to all the nodes, that target a single node (for example, all nodes in the botnet might be commanded by the attacker to send a TCP SYN ...
***.zipLinux平台使用的安装包: LiveCMS-linux-***.tar.gz LiveSMS-linux-***.tar.gz信令服务LiveCMSSIP 中心信令服务, 单节点, 自带一个 Redis Server, 随 LiveCMS 自启动, 不需要手动运行LiveCMS端口使用TCP 端口...
1. 安装要求: 系统:windows 2012 R2 Standerd 环境:安装.net3.5和web服务 软件版本:K + SolarWinds Event Log Forwarder for Windows 日志服务器IP: 2. 安装过程: 运行开始安装: 至此,Kiwi Syslog server...
Apache(音译为阿帕奇)是世界使用排名第一的Web服务器软件。它可以运行在几乎所有广泛使用的计算机平台上,由于其跨平台和安全性被广泛使用,是最流行的Web服务器端软件之一。 * 本章内容: TCP/IP网络基础 何为www ...