存档

作者存档

搭建Maven私服:Nexus(入门篇)

2013年5月18日 没有评论

在用Maven进行项目开发的时候,经常会遇到个别jar下载很慢或者无法找到,您一定被这种情况恶心过。甚至有的公司访问外网受限制,比如LZ就是个例子。这时候就需要搭建Maven私服,可以避免团队开发人员重复从公网下载资源,提高下载速度(因为所有jar都转移到了内网服务器上)。

Let’s get started!

一.环境部署
环境:Centos 6.3
LZ安装方式用的是官网下载的war包,直接放置到apache的webapps路径下,启动apache服务。
链接 http://www.sonatype.org/nexus/go

注:点击红色方框部分
阅读全文…

分类: DevTools 标签: , ,

Linux vmstat 使用详解

2013年5月5日 没有评论

vmstat是一个十分有用的Linux系统监控工具,使用vmstat命令可以得到关于进程、内存、内存分页、堵塞IO、traps及CPU活动的信息。当系统运行所需内存超过实际的物理内存,内核会释放某些进程所占用但未使用的部分或所有物理内存,将这部分资料存储在磁盘上直到进程下一次调用,并将释放出的内存提供给有需要的进程使用。

用法:
输入vmstat –help

阅读全文…

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

信用卡卡号验证算法

2013年5月5日 没有评论

常用信用卡卡号规则

Issuer Identifier Card Number Length
Diner’s Club 300xxx-305xxx, 3095xx,36xxxx, 38xxxx 14
American Express 34xxxx, 37xxxx 15
VISA 4xxxxx 13, 16
MasterCard 51xxxx-55xxxx 16
JCB 3528xx-358xxx 16
Discover 6011xx 16
银联 622126-622925 16

验证规则

1.偶数位卡号奇数位上数字*2,奇数位卡号偶数位上数字*2。
2.大于10的位数减9。
3.全部数字加起来。
4.结果不是10的倍数的卡号非法。
阅读全文…

分类: 杂谈 标签: ,

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