- 浏览: 390552 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (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 1013<转>Linux命令小结 --写得最全最有用的,原 ... -
SSH的登录限制
2014-04-17 11:30 17871、ip限制 从网络来的数据包首先要经过iptables,所以 ... -
linux修改时区
2013-12-27 14:28 1435原链接:http://blog.csdn.ne ... -
ls特殊场景用的命令
2013-12-26 10:37 461参考:http://man.lupaworld.com/con ... -
wget下载指定用户名密码
2013-11-11 14:03 45271、 # wget ftp://ftp.xxx.com/%D ... -
查看路由表
2013-09-29 09:49 832dos下查看路由表 tracert命令, tracert ... -
ubuntu-添加用户和java环境变量
2012-07-26 14:37 21691、添加用户 useradd 命令 -d 目录,指 ... -
LVM使用
2012-06-01 09:40 864摘要: Linux用户安装Linu ... -
[转]linux top 命令
2012-06-01 09:40 964linux top top命令是Linux下常用的性能分析工具 ... -
/usr、/var和/etc目录
2012-06-01 09:40 10854/usr 目录是应用程序主要存放的目录。该目录中的二进制文件对 ... -
lxc学习
2012-06-04 09:28 1429lxc能做什么: 可以为容器绑定特定的cpu和memory,分 ... -
Ubuntu服务详解
2012-05-17 17:24 1041Liunx操作系统跟Windos XP ... -
ubuntu 自动启动和服务管理
2012-05-17 17:19 1247ubuntu 开机、重启和关机 ... -
su和sudo的区别与使用
2012-05-17 17:12 846一. 使用 su 命令临时切换用户身份 1、su 的适用条件和 ... -
LINUX配置文件
2012-05-17 17:02 811/etc/profile:此文件为系统的每个用户设置环境信息, ... -
linux系统下查看内存使用情况
2012-05-10 14:39 1054[导读]详解linux下查看内存使用情况 在Linux下 ... -
Linux iostat监测IO状态
2012-03-26 17:31 856Linux iostat监测IO状态 2010-03-1 | ... -
iostat来对linux硬盘IO性能进行了解
2012-03-26 17:30 871以前一直不太会用这个参数。现在认真研究了一下iostat,因为 ... -
SSH 后门
2012-03-26 16:33 1044有很多次,我所在的站 ... -
在linux下检查带宽
2012-03-26 16:32 1188设想:公司 A 有一个名为 ginger 的存储服务器,并通过 ...
相关推荐
### IIS优化技巧:为Web服务器减负 在IT领域,特别是对于那些依赖于IIS(Internet Information Services)作为Web服务平台的企业来说,IIS的优化是确保网站性能、安全性和稳定性的重要步骤。本文将深入探讨如何通过...
web服务器部分服务器优化参数解析
最新CentOS全功能web服务器安装配置优化教程
Web服务器的优化是一个复杂而关键的任务,涉及到网络...必须深入理解服务器工作原理,针对性地实施优化措施,以提高整体Web系统的性能。这涉及到网络配置、中断处理、并发管理等多个层面,需要全面考虑以达到最佳效果。
根据提供的文件内容,我们可以从中提取有关web性能优化(服务器优化)的知识点。文件内容虽然有部分OCR扫描错误和不连贯,但我们可以识别出关键概念和组件,并将它们串联成一篇详尽的web服务器优化知识介绍。 首先...
常见的Web服务器如Apache、Nginx等,但almp_v7.0ALMP是针对移动设备优化的版本,可以在Android系统上运行。 该服务器支持多种脚本语言,包括PHP和ASP。PHP是一种广泛使用的开源服务器端脚本语言,主要用于网页开发...
### Web性能优化(服务器优化)知识点详解 #### 一、提高服务器并发处理能力 服务器并发处理能力直接影响到网站能够承受的访问量。为了提高这一能力,通常需要关注以下几个方面: - **多执行流体系设计**:操作...
STM32实现Web服务器是一个将微控制器技术与网络通信相结合的课题,对于嵌入式系统开发者来说具有重要的学习价值。STM32是意法半导体公司推出的一款基于ARM Cortex-M内核的微控制器系列,广泛应用于各种嵌入式系统...
在实践过程中,你可能会遇到的问题包括但不限于:如何正确处理多线程以应对并发请求、如何处理错误和异常、如何优化服务器性能等。这些都是进阶学习的方向。 总的来说,VB6.0编写的简易WEB服务器项目为初学者提供了...
3. **CherryPy**: CherryPy是一个Python Web服务器和Web框架,虽然主要针对桌面环境,但也有用户成功地将其移植到安卓。CherryPy提供了高度的灵活性和控制权。 4. **AndroHTTPD**: AndroHTTPD是专为安卓设计的Web...
在本文中,我们将探讨如何利用STM32F407微控制器和LWIP(Lightweight IP)库来搭建一个简单的Web服务器,并通过LAN9303以太网控制器连接网络。 首先,LWIP是一个开源、轻量级的TCP/IP协议栈,适用于资源有限的...
本项目是针对操作系统课程设计的一个多线程Web服务器,它利用C语言实现了服务器的基本功能,并且引入了线程池的设计思想,以优化性能和资源管理。下面我们将深入探讨这个项目中的关键知识点。 1. **多线程技术**:...
在本文中,我们将深入探讨如何使用C#语言开发一个简单的Web服务器,主要基于`HttpListener`组件。`HttpListener`是.NET Framework提供的一种基础网络通信类,它允许我们监听HTTP请求,并对这些请求做出响应。 首先...
搭建Web服务器和论坛是互联网应用开发的基础步骤,对于新手来说,快速上手并理解这个过程至关重要。本教程将详述如何在五分钟内高效地完成这一任务。以下是你需要知道的关键知识点: 1. **Web服务器**: Web服务器是...
在本文中,我们将深入探讨如何使用Microsoft Foundation Class (MFC) 库在Visual C++ 6.0环境下实现一个简单的Web服务器程序。MFC是微软为C++开发人员提供的一套面向对象的类库,它封装了Windows API,使得Windows...
- **瘦Web服务器模型**:这是一种优化资源利用的模型,适合内存有限的系统,提供基本的Web服务功能。 3. **实现技术** - 文章提到的实现形式可能包括自定义的服务器内核优化、轻量级HTTP协议解析以及高效的内存...
在实际操作中,管理Web服务器不仅涉及安装和配置,还包括日志管理、性能优化、安全设置等多个方面。例如,Apache的配置文件中可以调整各种参数以优化性能,如最大连接数、超时时间等。同时,为了确保服务器安全,...
10. **性能优化**:为了提高服务器性能,可以采用预读、缓存、异步I/O、连接池等技术。此外,还可以考虑使用非阻塞I/O或多路复用技术,如select、poll或epoll。 在项目"WebServer_src"中,你可以找到实现这些功能的...
【WEB服务器漏洞扫描】是一种针对网络服务器安全性进行检查的重要手段,它主要目的是发现并修复可能导致数据泄露、系统被攻击或恶意软件感染的弱点。在信息化社会中,Web服务器作为互联网服务的核心,承载着大量敏感...
Nginx是一款高性能的Web服务器,它以其反向代理、负载均衡、静态文件处理和高效非阻塞I/O模型而闻名。Nginx的设计理念是轻量级、高并发,因此在处理高流量网站时表现出色。以下是Nginx的一些核心知识点: 1. **模块...