存档

‘CentOS’ 分类的存档

Linux crontab 使用详解

2013年8月4日 没有评论

一.介绍crontab(crond)      

crond 是linux(Unix) 定时任务触发器,而crontab是输入指令给crond的接口。

工作原理:crond进程启动之后读取配置文件,并将其保存在内存中,接着自己转入到休眠状态。以后每分钟会醒来一次检查配置文件,读取修改过的,并执行为这一刻安排的任务,然后再转入休眠。

任务调度的工作主要分为以下两类:

1、系统执行的工作:系统周期性所要执行的工作,

2、用户执行的工作:某个用户定期要做的工作,比如定期检测Tomcat服务进程是否正常.

二.crontab指令

crontab 指令 参数说明: 阅读全文…

分类: CentOS, Linux 标签: , , ,

Tomcat 并发优化

2013年7月2日 1 条评论

首先先介绍一款知名的网站压力测试工具:webbench.

Webbench能测试处在相同硬件上,不同服务的性能以及不同硬件上同一个服务的运行状况。webbench的标准测试可以向我们展示服务器的两项内容:每分钟相应请求数和每秒钟传输数据量。webbench不但能具有便准静态页面的测试能力,还能对动态页面(ASP,PHP,JAVA,CGI)进 行测试的能力。还有就是他支持对含有SSL的安全网站例如电子商务网站进行静态或动态的性能测试,最多可以模拟3万个并发连接去测试网站的负载能力.

官方主页:http://home.tiscali.cz/~cz210552/webbench.html

WebBench安装:

sudo yum -y install ctags
wget https://gitsea.com/wp-content/uploads/2013/06/webbench-1.5.tar.gz
tar zxvf webbench-1.5.tar.gz
cd webbench-1.5
make
make install

WebBench使用:

webbench -c 1000 -t 10 http://www.google.com.hk/

参数说明: webbench -c 并发数 -t 运行测试时间  URL

例子:

返回结果:每分钟响应请求数:2868 pages/min,每秒钟传输数据量373959 bytes/sec.成功请求478次,失败0次。
阅读全文…

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 标签: ,

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 标签: , , , ,