- 浏览: 380049 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (215)
- ubuntu (27)
- 虚拟机 (13)
- 数据库 (29)
- JAVA (40)
- 搜索 (23)
- 开发工具 (2)
- 产品 (2)
- 工具 (1)
- 应用服务器 (5)
- linux (17)
- log (1)
- 多线程 (3)
- 异常 (1)
- shell (6)
- 12306 ;互联网 (1)
- 持续集成&Hudson (4)
- js (1)
- JAVA OR-Map (1)
- 漏洞 (1)
- svn (1)
- MAVEN (3)
- 架构 (1)
- windows (1)
- json (1)
- web (3)
- jenkins (2)
- iptables (2)
- JAVA ssh (0)
- 项目管理 (1)
- tomcat (1)
- 安全 (1)
- 数据库 mysql (1)
- 性能 (1)
最新评论
-
sbwfgihc:
怎么用的啊,
<转>mysql 树查询语句 -
panghaoyu:
实现一个智能提示功能需要ajax、数据库、jsp/php、算法 ...
<转>Solr Suggest实现搜索智能提示 -
songsove:
请问您qq多少
solr 对拼音搜索和拼音首字母搜索的支持 -
panghaoyu:
实现一个智能提示功能需要ajax、数据库、jsp/php、算法 ...
<转>Solr Suggest实现搜索智能提示 -
norain1988:
这样就可以实现相关搜索了吗
solr 百度相关搜索类似功能的实现
一、文件系统
在fstab里加入noatime,如
#cat /etc/fstab
/dev/sda1 /home ext3 noatime,defaults 1 2
reboot或者重新mount生效
二、Tcp优化
在/etc/sysctl.conf里加入
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv = 3
net.ipv4.tcp_syncookies = 1 #启用syncookies
net.ipv4.tcp_max_syn_backlog = 8192 #定义backlog队列容纳的最大半连接数
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_sack = 0
net.ipv4.tcp_timestamps = 0
老实说,对于sysctl.conf究竟能不能用起来还真不知道,因为我是没用起来,虽然内核里面是支持的 = =b
三、虚拟内存优化
/etc/sysctl.conf
vm.lower_zone_protection = 100
四、I/O调度器
在grub.conf的相应启动选项里加入elevator=deadline,如:
kernel /vmlinuz-2.6.6 ro root=/dev/sda6 elevator=deadline
这里用了Deadline的I/O调度器,它比系统默认的AnticipatoryI/O调度器更为小巧,在数据吞吐量非常大的数据库系统中表现得更有优势。
五、内核源代码参数修改
修改/usr/src/linux/include/linux/posix_types.h
#define __FD_SETSIZE 1024 � 65536
设置fd_set支持的最大数量
修改/usr/src/linux/include/linux/fs.h
#define INR_OPEN 1024 � 65536
#define NR_FILE 8192 � 65536
#define NR_RESERVED_FILES 10 � 128
设置最大打开文件数量(TCP连接数量)
修改/usr/src/linux/include/net/tcp.h
#define TCP_TIMEWAIT_LEN (60*HZ) � 1*HZ
#define TCP_SYNACK_RETRIES 5 � 3
设置在backlog队列里的半连接的重试次数,每次都会花相应的时间,本质上
也是减少重试时间
make menuconfig中,去掉没用的选项,打开以下选项的开关:
High Memory Support (支持4GB以上内存)
Symmetric multi-processing support (支持多CPU)
TCP syncookie support (可以防DOS)
设置文件打开数等的其他方法(好处就是可以不重新编译内核)
在 /etc/init.d/sshd里加入(统一加在. /etc/rc.d/init.d/functions行后面)
ulimit -n 65535 >;/dev/null 2>;&1
ulimit -u 16384 >;/dev/null 2>;&1
重起sshd:nohup /etc/init.d/sshd restart &
BTW:其实limits.conf不好,因为他需要root su - user遗传给普通用户
如果直接远程登陆是没效果的
六、apache
1、安装:采用worker线程工作模式
./configure --prefix=/prefix
--enable-mods-shared=all
--enable-deflate
--with-mpm=worker
chmod +s /prefix/bin/httpd #允许普通用户也可以启动apache
2、配置:httpd.conf
Timeout 60
KeepAlive On
MaxKeepAliveRequests 150
KeepAliveTimeout 5
StartServers 3
MaxClients 3200 #支持3200个客户端哦
ServerLimit 32
MinSpareThreads 50
MaxSpareThreads 250
ThreadLimit 200
ThreadsPerChild 100
MaxRequestsPerChild 0
#上面的几个参数对机器要求比较高,如果是比较差的机器,每台机1000个连接最多了,你可能要重新设置参数,我的机器是DELL 2850
UseCanonicalName Off
HostnameLookups Off
ServerSignature Off
wolfop 回复于:2004-12-10 16:28:23
用来好多激进的方法啊,apache2的work方式现在稳定了吗?
killua 回复于:2004-12-11 13:08:44
引用:原帖由 "wolfop"]用来好多激进的方法啊,apache2的work方式现在稳定了吗?
发表:
我是在前两个月把apache2的工作模式换成worker方式的,都没有问题哦
而且经过我这样升级后,性能提升25%左右,真的,我测试过的
帖子上有个东东漏掉了,要apache支持3200个客户端,默认最大支持1024(64*16)个客户端,所以必须修改apache的源代码树下的server/mpm/worker/worker.c
把 #define DEFAULT_THREAD_LIMIT 64 -->; 128 #每个子进程中包含的线程数
#define DEFAULT_SERVER_LIMIT 16 -->; 32 #最大的子进程总数
注意,不要把这两个值设得太高,超过系统的处理能力,那就事与愿违了
现在我的机子能承受每天350W的访问量,高峰期的load最多到2左右
Worker模式下所能同时处理的请求总数是由子进程总数乘以ThreadsPerChild值决定的,应该大于等于MaxClients
大家可以根据自己的实际情况调试一下的。祝大家愉快。
原文链接:http://bbs.chinaunix.net/viewthread.php?tid=464181
转载请注明作者名及原文出处
在fstab里加入noatime,如
#cat /etc/fstab
/dev/sda1 /home ext3 noatime,defaults 1 2
reboot或者重新mount生效
二、Tcp优化
在/etc/sysctl.conf里加入
net.ipv4.netfilter.ip_conntrack_tcp_timeout_syn_recv = 3
net.ipv4.tcp_syncookies = 1 #启用syncookies
net.ipv4.tcp_max_syn_backlog = 8192 #定义backlog队列容纳的最大半连接数
net.ipv4.tcp_fin_timeout = 30
net.ipv4.tcp_keepalive_time = 1800
net.ipv4.tcp_window_scaling = 0
net.ipv4.tcp_sack = 0
net.ipv4.tcp_timestamps = 0
老实说,对于sysctl.conf究竟能不能用起来还真不知道,因为我是没用起来,虽然内核里面是支持的 = =b
三、虚拟内存优化
/etc/sysctl.conf
vm.lower_zone_protection = 100
四、I/O调度器
在grub.conf的相应启动选项里加入elevator=deadline,如:
kernel /vmlinuz-2.6.6 ro root=/dev/sda6 elevator=deadline
这里用了Deadline的I/O调度器,它比系统默认的AnticipatoryI/O调度器更为小巧,在数据吞吐量非常大的数据库系统中表现得更有优势。
五、内核源代码参数修改
修改/usr/src/linux/include/linux/posix_types.h
#define __FD_SETSIZE 1024 � 65536
设置fd_set支持的最大数量
修改/usr/src/linux/include/linux/fs.h
#define INR_OPEN 1024 � 65536
#define NR_FILE 8192 � 65536
#define NR_RESERVED_FILES 10 � 128
设置最大打开文件数量(TCP连接数量)
修改/usr/src/linux/include/net/tcp.h
#define TCP_TIMEWAIT_LEN (60*HZ) � 1*HZ
#define TCP_SYNACK_RETRIES 5 � 3
设置在backlog队列里的半连接的重试次数,每次都会花相应的时间,本质上
也是减少重试时间
make menuconfig中,去掉没用的选项,打开以下选项的开关:
High Memory Support (支持4GB以上内存)
Symmetric multi-processing support (支持多CPU)
TCP syncookie support (可以防DOS)
设置文件打开数等的其他方法(好处就是可以不重新编译内核)
在 /etc/init.d/sshd里加入(统一加在. /etc/rc.d/init.d/functions行后面)
ulimit -n 65535 >;/dev/null 2>;&1
ulimit -u 16384 >;/dev/null 2>;&1
重起sshd:nohup /etc/init.d/sshd restart &
BTW:其实limits.conf不好,因为他需要root su - user遗传给普通用户
如果直接远程登陆是没效果的
六、apache
1、安装:采用worker线程工作模式
./configure --prefix=/prefix
--enable-mods-shared=all
--enable-deflate
--with-mpm=worker
chmod +s /prefix/bin/httpd #允许普通用户也可以启动apache
2、配置:httpd.conf
Timeout 60
KeepAlive On
MaxKeepAliveRequests 150
KeepAliveTimeout 5
StartServers 3
MaxClients 3200 #支持3200个客户端哦
ServerLimit 32
MinSpareThreads 50
MaxSpareThreads 250
ThreadLimit 200
ThreadsPerChild 100
MaxRequestsPerChild 0
#上面的几个参数对机器要求比较高,如果是比较差的机器,每台机1000个连接最多了,你可能要重新设置参数,我的机器是DELL 2850
UseCanonicalName Off
HostnameLookups Off
ServerSignature Off
wolfop 回复于:2004-12-10 16:28:23
用来好多激进的方法啊,apache2的work方式现在稳定了吗?
killua 回复于:2004-12-11 13:08:44
引用:原帖由 "wolfop"]用来好多激进的方法啊,apache2的work方式现在稳定了吗?
发表:
我是在前两个月把apache2的工作模式换成worker方式的,都没有问题哦
而且经过我这样升级后,性能提升25%左右,真的,我测试过的
帖子上有个东东漏掉了,要apache支持3200个客户端,默认最大支持1024(64*16)个客户端,所以必须修改apache的源代码树下的server/mpm/worker/worker.c
把 #define DEFAULT_THREAD_LIMIT 64 -->; 128 #每个子进程中包含的线程数
#define DEFAULT_SERVER_LIMIT 16 -->; 32 #最大的子进程总数
注意,不要把这两个值设得太高,超过系统的处理能力,那就事与愿违了
现在我的机子能承受每天350W的访问量,高峰期的load最多到2左右
Worker模式下所能同时处理的请求总数是由子进程总数乘以ThreadsPerChild值决定的,应该大于等于MaxClients
大家可以根据自己的实际情况调试一下的。祝大家愉快。
原文链接:http://bbs.chinaunix.net/viewthread.php?tid=464181
转载请注明作者名及原文出处
发表评论
-
<转>Linux命令小结 --写得最全最有用的
2014-07-21 15:40 934<转>Linux命令小结 --写得最全最有用的,原 ... -
SSH的登录限制
2014-04-17 11:30 17311、ip限制 从网络来的数据包首先要经过iptables,所以 ... -
linux修改时区
2013-12-27 14:28 1394原链接:http://blog.csdn.ne ... -
ls特殊场景用的命令
2013-12-26 10:37 418参考:http://man.lupaworld.com/con ... -
wget下载指定用户名密码
2013-11-11 14:03 44451、 # wget ftp://ftp.xxx.com/%D ... -
查看路由表
2013-09-29 09:49 788dos下查看路由表 tracert命令, tracert ... -
ubuntu-添加用户和java环境变量
2012-07-26 14:37 21191、添加用户 useradd 命令 -d 目录,指 ... -
LVM使用
2012-06-01 09:40 828摘要: Linux用户安装Linu ... -
[转]linux top 命令
2012-06-01 09:40 922linux top top命令是Linux下常用的性能分析工具 ... -
/usr、/var和/etc目录
2012-06-01 09:40 10795/usr 目录是应用程序主要存放的目录。该目录中的二进制文件对 ... -
lxc学习
2012-06-04 09:28 1381lxc能做什么: 可以为容器绑定特定的cpu和memory,分 ... -
Ubuntu服务详解
2012-05-17 17:24 979Liunx操作系统跟Windos XP ... -
ubuntu 自动启动和服务管理
2012-05-17 17:19 1202ubuntu 开机、重启和关机 ... -
su和sudo的区别与使用
2012-05-17 17:12 792一. 使用 su 命令临时切换用户身份 1、su 的适用条件和 ... -
LINUX配置文件
2012-05-17 17:02 764/etc/profile:此文件为系统的每个用户设置环境信息, ... -
linux系统下查看内存使用情况
2012-05-10 14:39 1015[导读]详解linux下查看内存使用情况 在Linux下 ... -
Linux iostat监测IO状态
2012-03-26 17:31 809Linux iostat监测IO状态 2010-03-1 | ... -
iostat来对linux硬盘IO性能进行了解
2012-03-26 17:30 812以前一直不太会用这个参数。现在认真研究了一下iostat,因为 ... -
SSH 后门
2012-03-26 16:33 994有很多次,我所在的站 ... -
在linux下检查带宽
2012-03-26 16:32 1142设想:公司 A 有一个名为 ginger 的存储服务器,并通过 ...
相关推荐
IIS 优化 为Web服务器 减负 IIS 优化 为Web服务器 减负
针对Web服务器的八种攻击方式 .php
web服务器部分服务器优化参数解析
最新CentOS全功能web服务器安装配置优化教程
web服务器性能优化,apache。mysal,安全方面的,看看有用
WEB服务器的优化方法.doc
stm32+esp8266连web服务器stm32+esp8266连web服务器stm32+esp8266连web服务器stm32+esp8266连web服务器stm32+esp8266连web服务器stm32+esp8266连web服务器stm32+esp8266连web服务器stm32+esp8266连web服务器stm32+...
简单搭建WEB服务器 简单搭建WEB服务器 简单搭建WEB服务器
Linux部署高并发WEB服务器性能优化策略.pdf
web性能优化(服务器优化).doc
java实现web服务器:(1) 连接:Web浏览器与Web服务器建立连接,打开一个称为socket(套接字)的虚拟文件,此文件的建立标志着连接建立成功。 (2) 请求:Web浏览器通过socket向Web服务器提交请求。HTTP的请求一般是...
WEB服务器、应用程序服务器、HTTP服务器区别
微型web服务器,就一个文件,方便搭建web服务,用于一般的web服务即可。需要的赶紧下载吧
web性能优化(服务器优化).pdf
Web服务器的工作原理 Web服务器的工作原理 Web服务器的工作原理 Web服务器的工作原理 Web服务器的工作原理 Web服务器的工作原理 Web服务器的工作原理 Web服务器的工作原理 Web服务器的工作原理 Web服务器的工作原理 ...
易语言简易WEB服务器源码.rar
是一款集合了2048游戏,电影搜索、成语接龙、进程守护、屏幕锁定解锁等功能的网页Web服务器,服务器文件64Kb(还包括30Kb GZIP dll)应该是最小的Web服务器,支持编写dll插件,服务器没有接口,启动后会出现托盘图标。...
Linux下基于C++的轻量级Web服务器; (1)使用 线程池 + 非阻塞socket + epoll(ET和LT均实现) + 事件处理(Reactor、Proactor) 的并发模型; (2)使用状态机解析HTTP请求报文,支持解析GET和POST请求; (3)访问...
实验_Linux下的web服务器.doc//实验_Linux下的web服务器.doc
WEB服务器的配置(傻瓜篇) 教你如何配置web服务器WEB服务器的配置(傻瓜篇) 教你如何配置web服务器WEB服务器的配置(傻瓜篇) 教你如何配置web服务器