存档

‘Linux’ 分类的存档

CentOS 6.X 服务器优化

2013年5月4日 没有评论

1.I/O调度器

在grub.conf的相应启动选项里加入参数,例如elevator=deadline
Anticipatory 适用于大多数环境,特别是写入较多的(比如文件服务器)Web,App等应用,但不太合适数据库应用,
Deadline 通常与Anticipatory相当,但更简洁小巧,更适合于数据库应用
CFQ 为所有进程分配等量的带宽,适合于桌面多任务及多媒体应用,适用于有大量进程的多用户系统
NOOP 对于闪存设备,RAM,嵌入式系统是最好的选择.适用SCSI的TCQ和SSD等。

2.文件系统

当文件被创建,修改和访问时,Linux系统会记录这些时间信息。当系统的读文件操作频繁时,记录文件最近一次被读取的时间信息,将是一笔不少的开销。为了提高系统的性能,可以在读取文件时不修改文件的atime属性,通过在加载文件系统时使用notime选项来做到这一点。当以noatime选项加载(mount)文件系统时,对文件的读取不会更新文件属性中的atime信息。设置noatime的重要性是消除了文件系统读取文件时候对文件atime的写操作,文件只是简单地被系统读取。注意wtime信息仍然有效,任何时候文件被写,该信息仍被更新。

在fstab里加入noatime,如
#cat /etc/fstab
/dev/sda1 /home ext3 noatime,defaults 1 2
reboot或者重新mount生效

3.虚拟内存优化

4.TCP优化

首先tcp的队列有两个:
1、未完成三次握手队列
2、已完成三次握手队列

当客户端连接服务端时先在“未完成三次握手队列”里面建立一条记录,
等tcp三次握手完成后把记录从“未完成三次握手队列”中移到“已完成三次握手队列”。
在Linux下,未完成三次握手队列通常为半连接队列,
也就是syn队列,其长度由/proc/sys/net/ipv4/tcp_max_syn_backlog指定,默认值为1024。

在linux下,已完成三次握手队列,我们称之为accept队列,
其最大长度由/proc/sys/net/core/somaxconn指定,默认值为128,大多数服务器需要增大此值。

在服务器程序开发时,listen(fd, backlog) 参数的backlog对应的也是accept队列,调用listen的时候系统会检查。

禁用selinux和ipv6
vi /boot/grub/grub.conf
增加 ipv6.disable=1 selinux=0

分类: CentOS 标签: ,

Linux I/O 调度方法

2013年5月3日 没有评论

Linux IO调度程序是块设备I/O子系统的主要组件,它介于通用块层和块设备驱动程序之间。当Linux内核组件要读写一些数据时,并不是请求一发出,内核便立即执行该请求,而是将其推迟执行。延迟的设定是块设备性能的关键机制!当传输一个新数据块时,内核检查能否通过扩展前一个一直处于等待状态的请求而满足新请求。

阅读全文…

分类: Linux 标签: , ,

linux iostat 使用详解

2013年5月3日 没有评论

iostat 命令:通过iostat方便查看CPU、网卡、tty设备、磁盘、CD-ROM 等等设备的活动情况,负载信息。而iostat的数据主要来源 对应的文件是/proc/partitions 而Linux 内核为 2 6 对应的文件是/proc/diskstats或/sys/block/[块设备名]/stat

语法: iostat [选择参数] [时间] [次数]

参数说明:

-C 显示CPU使用情况
-d 显示磁盘使用情况
-k 以 KB 为单位显示
-m 以 M 为单位显示
-N 显示磁盘阵列(LVM) 信息
-n 显示NFS 使用情况
-p[磁盘] 显示磁盘和分区的情况
-t 显示终端和CPU的信息
-x 显示详细信息
-V 显示版本信息
注:默认单位为 Blk (块)
阅读全文…

分类: 系统监控工具 标签: ,

CentOS 6.3 用虚拟机克隆之后无法开启eth0 解决方法

2013年4月27日 没有评论

在我们用虚拟机克隆出新的Centos系统镜像之后发现无法开启eth0
Bringing up interface eth0: Device eth0 does not seem to be present, delaying initialization.异常,解决方法如下

1.删除/etc/udev/rules.d/70-persistent-net.rules

sudo rm /etc/udev/rules.d/70-persistent-net.rules

2.修改eth0的mac为虚拟机随机分配的mac

sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0

 mac地址可以从虚拟机设置里面获取,如下图
阅读全文…

基于Centos6.3的web服务器基本环境配置

2013年4月23日 没有评论

1.静态地址配置

通过修改  /etc/sysconfig/network-scripts/ifcfg-eth0 文件配置静态IP

DEVICE=eth0      //网卡ID
BOOTPROTO=static  //设置成静态IP
TYPE=Ethernet           //网络类型
BROADCAST=192.168.1.255   //广播地址
HWADDR=00:0C:29:49:E2:90 //网卡Mac地址
IPADDR=192.168.1.201     //IP 地址
NETMASK=255.255.255.0    //子网掩码
GATEWAY=192.168.1.1      //网关
ONBOOT=yes      //开机自动开启网卡

阅读全文…

分类: CentOS 标签: , , , ,