WEB服务器的优化方法简介

WEB服务器的优化方法简介,第1张

WEB服务器的优化方法简介

在对Web服务器进行优化时要根据真实的Web应用系统的情况和特征来采取有针对性地优化方案。首先根据不同的网络特性来看:在局域网中,降低M T U (最大传输单位)值对可以避免复制数据和求校验,而通过优化select系统调用或在Socket事件处理器中执行计算可以优化请求并发管理,利用>为了解决文件增多导致rsync变慢的问题,方案是很多的。1、使源目录保存较少文件这是一个传统优化办法,因为rsync虽然是同步所有文件,但和同步最近更新的文件是一个道理,因此将源服务器上的目录删除,仅仅保持最近更新的文件,文件数量就变得不但很少,而且是稳定的,随着时间推移,这数量也不会涨得很快。但这样做有个缺点,就是rsync不能使用删除模式,如果有文件要删除,可以将其弄成空文件,假如有更严格要求,可以另一个程序来删除。2、使用/dev/shm内存分区在源目录保持较少文件的前提下,将文件不存在硬盘上而放入内存,就可以避免系统IO带来的问题,但是这个内存分区在系统reboot后会丢掉所有数据,虽然并不常常需要reboot,但是其中的风险也需要计算清楚。3、使用推送方式因为性能问题是出现在rsync的客户端,用生产服务器抓取源服务器的话,性能问题就会出现在生产服务器上,这当然不很妥当。假如在生产服务器上使用 rsync daemon,源服务器执行rsync命令将文件推送到生产服务器上,性能问题就转移到了源服务器上,这在一定程度可以保证生产服务器的稳定性。4、仅用一台作同步比较假如源服务器的文件要被同步到很多台生产服务器,那么会出现rsync并发。可以分析到这些生产服务器在同一时刻文件是一致的,因此每台机都和源服务器做一次比较就是浪费的。这时可以让源服务器和生产服务器同步一次,并且使用-v参数打印出log,其它生产服务器通过同步这个log记录的文件就可以避免数次比较过程。5、使用inotifyinotify就不是rsync了,inotify是一个守护进程,它可以监控到文件目录下的文件变动情况,根据其输出然后用rsync做文件传输,就可以减掉文件比较这个环节。inotify使用并不复杂,对文件变更情况的监控是实时的,也不消耗很多性能。6、双路同步以上均是对rsync性能方面做优化,但是优化也会带来问题。在3、4、5号方案中,假如生产服务器有一台机器因为负载或其它问题reboot了,在 reboot过程中同步就失败了,这部分失败的文件假如没有其它处理,就永远不会再同步到生产服务器上。这时可以使用多一路rsync来处理,譬如使用 inotify,做到了实时同步,然后再每小时进行一次完整的rsync同步。这样就可以保证有很高的同步速度,又能使丢失文件的风险控制在一小时之内。

务器系统安装优化:
1在安装的时候选择最小安装
在安装时候选择Minimal,自定义工具可以有developmenttools 、debugging tools、base、compatibliitylibraries
2 需要开启的服务
sshd rsyslog network crond sysstat iptables 如果是web服务器还要有apache
3需要关闭的服务
关闭不需要的tty
Vi /etc/inittab 在前面加上#注释掉多余的
执行init q
关闭atime
vi /etc/fstab
在包含大量小文件的分区中使用noatime,nodiratime两项
例如:
/dev/md5 /data/pics1 ext3noatime,nodiratime 0 0
4 需要优化的服务
优化sshd
X11Forwarding no //不进行x图形的转发
UseDNS no //不对IP地址做反向的解析
port 52113 端口范围0-655535
Protocol 2
useDNS no DNS 内网连接都是ip 不用解析,速度会很快
permitrootlogin no 不允许root通过ssh 连接
listenaddress 改成服务器的内网ip地址
GSSAPIAuthentication no 这个解决两个机器之间连接慢的问题
PermitEmptyPasswords no
优化shell
# vi /etc/profile
找到 HISTSIZE=1000 改为HISTSIZE=100
然后 source /etc/profile
优化runlevel
vi/etc/inittab
id:3:initdefault:
让服务器运行X是没有必要的
5 需要系统最小优化
开机启动最小化
*** 作命令最小化
普通用户权限最小化
Linux系统文件及目录的权限最小化
登录Linux用户最小化,平时没有需求root用户,绝对不用root账号登录

1、 关闭不需要的服务
这个应该很容易理解的,凡是我们的系统不需要的服务,一概关闭,这样一个好处是减少内存和CPU时间的占用,另一个好处相对可以提高安全性
那么哪些服务是肯定要保留的呢
在linux机器上通常有四项服务是必须保留的
iptables
linux下强大的防火墙,只要机器需要连到网上,哪里离得开它
network
linux机器的网络,如果不上网可以关闭,只要上网当然要打开它
sshd
这是openssh server,如果你的机器不是本地 *** 作,而是托管到IDC机房,
那么访问机器时需要通过这个sshd服务进行
syslog
这是linux系统的日志系统,必须要有,
否则机器出现问题时会找不到原因
除了这四项必需的服务之外,其他的服务需要保留哪些呢
这时就可以根据系统的用途而定,比如:数据库服务器,就需要启用mysqld(或oracle)
web服务器,就需要启用apache
2、 关闭不需要的tty
请编辑你的/etc/inittab
找到如下一段:
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6
这段命令使init为你打开了6个控制台,分别可以用alt+f1到alt+f6进行访问
此6个控制台默认都驻留在内存中,事实上没有必要使用这么多的
你用ps auxf这个命令可以看到,是六个进程
root 3004 00 00 1892 412 tty1 Ss+ Jun29 0:00 /sbin/mingetty tty1
root 3037 00 00 2492 412 tty2 Ss+ Jun29 0:00 /sbin/mingetty tty2
root 3038 00 00 2308 412 tty3 Ss+ Jun29 0:00 /sbin/mingetty tty3
root 3051 00 00 1812 412 tty4 Ss+ Jun29 0:00 /sbin/mingetty tty4
root 3056 00 00 2116 412 tty5 Ss+ Jun29 0:00 /sbin/mingetty tty5
root 3117 00 00 2396 412 tty6 Ss+ Jun29 0:00 /sbin/mingetty tty6
3 如何关闭这些进程
通常我们保留前2个控制台就可以了,
把后面4个用#注释掉就可以了
然后无需重启机器,只需要执行 init q 这个命令即可
init q
q作为参数的含义:重新执行/etc/inittab中的命令

修改完成后需重启机器使之生效
4 、如何关闭atime
一个linux文件默认有3个时间:
atime:对此文件的访问时间
ctime:此文件inode发生变化的时间
mtime:此文件的修改时间
如果有多个小文件时通常没有必要记录文件的访问时间,
这样可以减少磁盘的io,比如web服务器的页面上有多个小
如何进行设置呢
修改文件系统的配置文件:vi /etc/fstab
在包含大量小文件的分区中使用noatime,nodiratime两项
例如:
/dev/md5 /data/pics1 ext3 noatime,nodiratime 0 0
这样文件被访问时就不会再产生写磁盘的io
5、 一定要让你的服务器运行在level 3上
做法:
vi /etc/inittab
id:3:initdefault:
让服务器运行X是没有必要的
6, 优化sshd
X11Forwarding no //不进行x图形的转发
UseDNS no //不对IP地址做反向的解析
7、 优化shell
修改命令history记录
# vi /etc/profile
找到 HISTSIZE=1000 改为 HISTSIZE=100
然后 source /etc/profile


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zz/13263418.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-06-28
下一篇 2023-06-28

发表评论

登录后才能评论

评论列表(0条)

保存