2008年7月 的存档

利用IO流读取网页HTML网页代码

import java.net.*;
import java.io.*;
 
public class urlconnection
{
public static void main(String[] args)
{
StringBuffer document = new StringBuffer();
try
{
URL url = new URL("http://www.163.com");
URLConnection conn = url.openConnection();
BufferedReader reader = new [...]

2008年7月31日07:21 | 没有评论
分类: Java
标签: ,

才买的Godaddy 256内存的vps 还没有开始正式用就Cannot allocate memory!没办法还是地优化。
服务器资源
对于网站来说主要是CPU、TCP连接数这两者。 CPU表现在任务数上,在Linux下使用平均负载(loadavg)来衡量。可通过以下命令来查看
cat /proc/loadavg
该文件显示了系统当前的平均负载和进程状况。
0.20 0.18 0.12 1/80 11206
前三列分别为前1分钟、5分钟、15分钟内的平均负载。第四列为正在执行的进程数和系统的总进程数。第五列为上次执行的进程id。
对于单CPU的服务器,loadavg高于1,表明任务队列出现了等待,CPU忙不过来了。超过2以上就会明显感到性能降低了。
TCP连接数可通过以下命令查看:
netstat -ant | grep :80 | wc -l
netstat -n | awk ‘/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}’
  返回结果示例:
  LAST_ACK 5
  SYN_RECV 30
  ESTABLISHED 1597
  FIN_WAIT1 51
  FIN_WAIT2 504
  TIME_WAIT 1057
  其中的SYN_RECV表示正在等待处理的请求数;ESTABLISHED表示正常数据传输状态;TIME_WAIT表示处理完毕,等待超时结束的请求数。
Apcche内存使用量可以使用下面命令:
ps -U apache u|awk ‘{S+=$6} END {print S}’
优化Apache(httpd)
KeepAlive 是否允许持续连接
MaxKeepAliveRequests 允许的持续连接的最大数
KeepAliveTimeout 持续连接在没有请求多少秒后切断
StartServers 最初启动时启动多少个服务器进程
MinSpareServers 空闲服务器进程的最小数
MaxSpareServers 空闲服务器进程的最大数
MaxRequestsPerChild 每个子进程处理的最大请求数
KeepAlive
前三个KeepAlive相关的指令用来设置持续连接。通常都是每个HTTP请求对应一个TCP连接,但对于一个包含许多图片的网页来说,客户端会在瞬间发出多个HTTP请求,此时多次建立TCP连接会大大降低响应速度。此时通过持续连接,可以允许用户在一个TCP连接中发出多个HTTP请求,减少TCP连接建立次数,提高响应速度。
这种情况下,应当通过access_log统计出连续HTTP请求出现的次数、间隔时间、访问量,以确定 MaxKeepAliveRequests 和 KeepAliveTimeout 的值。 KeepAliveTimeout [...]

2008年7月27日09:04 | 没有评论
分类: Linux
标签:

很多VPS用户在查看Linux操作系统的内存使用情况方面有误解,我们经常给客户解释怎样看一个Linux VPS的内存使用情况,总结如下:
看内存最方便的命令是free -m,在我的VPS上运行,结果如下:

[root@host ~]# free -m
total used free shared buffers cached
Mem: [...]

2008年7月27日07:31 | 没有评论
分类: Linux
标签: ,
Page 1 of 212