- 浏览: 388530 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (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 990<转>Linux命令小结 --写得最全最有用的,原 ... -
SSH的登录限制
2014-04-17 11:30 17821、ip限制 从网络来的数据包首先要经过iptables,所以 ... -
linux修改时区
2013-12-27 14:28 1426原链接:http://blog.csdn.ne ... -
ls特殊场景用的命令
2013-12-26 10:37 452参考:http://man.lupaworld.com/con ... -
wget下载指定用户名密码
2013-11-11 14:03 45101、 # wget ftp://ftp.xxx.com/%D ... -
查看路由表
2013-09-29 09:49 825dos下查看路由表 tracert命令, tracert ... -
ubuntu-添加用户和java环境变量
2012-07-26 14:37 21621、添加用户 useradd 命令 -d 目录,指 ... -
LVM使用
2012-06-01 09:40 857摘要: Linux用户安装Linu ... -
[转]linux top 命令
2012-06-01 09:40 955linux top top命令是Linux下常用的性能分析工具 ... -
/usr、/var和/etc目录
2012-06-01 09:40 10841/usr 目录是应用程序主要存放的目录。该目录中的二进制文件对 ... -
lxc学习
2012-06-04 09:28 1422lxc能做什么: 可以为容器绑定特定的cpu和memory,分 ... -
Ubuntu服务详解
2012-05-17 17:24 1034Liunx操作系统跟Windos XP ... -
ubuntu 自动启动和服务管理
2012-05-17 17:19 1240ubuntu 开机、重启和关机 ... -
su和sudo的区别与使用
2012-05-17 17:12 836一. 使用 su 命令临时切换用户身份 1、su 的适用条件和 ... -
LINUX配置文件
2012-05-17 17:02 802/etc/profile:此文件为系统的每个用户设置环境信息, ... -
linux系统下查看内存使用情况
2012-05-10 14:39 1049[导读]详解linux下查看内存使用情况 在Linux下 ... -
Linux iostat监测IO状态
2012-03-26 17:31 846Linux iostat监测IO状态 2010-03-1 | ... -
iostat来对linux硬盘IO性能进行了解
2012-03-26 17:30 859以前一直不太会用这个参数。现在认真研究了一下iostat,因为 ... -
SSH 后门
2012-03-26 16:33 1034有很多次,我所在的站 ... -
在linux下检查带宽
2012-03-26 16:32 1179设想:公司 A 有一个名为 ginger 的存储服务器,并通过 ...
相关推荐
### IIS优化技巧:为Web服务器减负 在IT领域,特别是对于那些依赖于IIS(Internet Information Services)作为Web服务平台的企业来说,IIS的优化是确保网站性能、安全性和稳定性的重要步骤。本文将深入探讨如何通过...
web服务器部分服务器优化参数解析
Web服务器的优化是一个复杂而关键的任务,涉及到网络...必须深入理解服务器工作原理,针对性地实施优化措施,以提高整体Web系统的性能。这涉及到网络配置、中断处理、并发管理等多个层面,需要全面考虑以达到最佳效果。
根据提供的文件内容,我们可以从中提取有关web性能优化(服务器优化)的知识点。文件内容虽然有部分OCR扫描错误和不连贯,但我们可以识别出关键概念和组件,并将它们串联成一篇详尽的web服务器优化知识介绍。 首先...
### Web性能优化(服务器优化)知识点详解 #### 一、提高服务器并发处理能力 服务器并发处理能力直接影响到网站能够承受的访问量。为了提高这一能力,通常需要关注以下几个方面: - **多执行流体系设计**:操作...
在本文中,我们将探讨如何利用STM32F407微控制器和LWIP(Lightweight IP)库来搭建一个简单的Web服务器,并通过LAN9303以太网控制器连接网络。 首先,LWIP是一个开源、轻量级的TCP/IP协议栈,适用于资源有限的...
本项目是针对操作系统课程设计的一个多线程Web服务器,它利用C语言实现了服务器的基本功能,并且引入了线程池的设计思想,以优化性能和资源管理。下面我们将深入探讨这个项目中的关键知识点。 1. **多线程技术**:...
6. **性能优化**:对于高性能Web服务器,内存管理、缓冲池、连接复用等都是提升性能的关键。C-Web-Server可能包含这些优化措施,以提高服务器的吞吐量和响应速度。 通过研究C-Web-Server的源码,我们可以了解到一个...
7. **性能优化**:除了基本功能外,还会涉及到服务器性能的优化,如线程池的使用,减少线程创建和销毁的开销;使用非阻塞I/O(NIO)提高并发能力;以及利用缓存技术减少磁盘I/O。 8. **实验收获**:完成这个实验后...
常见的Web服务器如Apache、Nginx等,但almp_v7.0ALMP是针对移动设备优化的版本,可以在Android系统上运行。 该服务器支持多种脚本语言,包括PHP和ASP。PHP是一种广泛使用的开源服务器端脚本语言,主要用于网页开发...
在IT领域,Linux Web服务器配置是一项至关重要的技能,它涉及到如何在Linux操作系统上搭建和管理网络服务,以提供网页内容和服务。Linux因其开源、稳定和高效的特点,成为了许多企业和个人首选的Web服务器平台。以下...
搭建Web服务器和论坛是互联网应用开发的基础步骤,对于新手来说,快速上手并理解这个过程至关重要。本教程将详述如何在五分钟内高效地完成这一任务。以下是你需要知道的关键知识点: 1. **Web服务器**: Web服务器是...
- **瘦Web服务器模型**:这是一种优化资源利用的模型,适合内存有限的系统,提供基本的Web服务功能。 3. **实现技术** - 文章提到的实现形式可能包括自定义的服务器内核优化、轻量级HTTP协议解析以及高效的内存...
本项目“C# Web服务器”是一个针对初学者的示例,它可以帮助你理解如何利用C#来构建一个简单的Web服务器。这个压缩包包含了一个名为"SimpleWebServer-src"的源代码文件夹,里面应该是实现Web服务器功能的C#代码。 *...
10. **性能优化**:为了提高服务器性能,可以采用预读、缓存、异步I/O、连接池等技术。此外,还可以考虑使用非阻塞I/O或多路复用技术,如select、poll或epoll。 在项目"WebServer_src"中,你可以找到实现这些功能的...
【WEB服务器漏洞扫描】是一种针对网络服务器安全性进行检查的重要手段,它主要目的是发现并修复可能导致数据泄露、系统被攻击或恶意软件感染的弱点。在信息化社会中,Web服务器作为互联网服务的核心,承载着大量敏感...
虽然这是一个简单的Web服务器,但实际部署时可能需要考虑端口设置、日志记录、安全性(如HTTPS支持)和性能优化等方面。 9. **测试与调试**: 对Web服务器进行单元测试和集成测试是必要的,以确保其正确性和稳定...
C#是一种广泛应用于开发Web应用程序的强大编程语言,尤其在构建Web服务器方面表现出色。本项目提供的"C#做的WEB服务器"示例,展示了如何利用C#实现一个基础的HTTP服务器,对于初学者和开发者来说,这是一个很好的...
EJScript是AppWeb内置的脚本语言,类似于JavaScript,但针对嵌入式环境进行了优化。EJScript允许开发者在服务器端编写动态脚本来处理HTTP请求,生成动态内容。它支持基本的控制结构、函数、类和对象,使得开发者能够...
在IT行业中,网络编程是不可或缺的一部分,而Web服务器则是网络应用的核心组件。本文将深入探讨一个基于C#语言实现的简单TCP Web服务器,标题为"C#基于TCP写的简单WEB服务器"。这个项目主要展示了如何利用C#的网络...