Tag Archives: apache2

这些大网站都用什么操作系统与 Web 服务器 ?

Google
用哪些软件做 Web Server?
除了有两个节点操作系统看出来是 Linux 外,其他的都是未知的. Web 服务器用的都是 GWS ? 我估计是 Google Web Server 的缩写.

Yahoo!
操作系统都是 FreeBSD. 其他的都不可知.Yahoo! 的网络安全据说是一级棒!

微软
操作系统全是 Windows 2003(如果使用 Linux 会被笑死) , 看来 Windows 2000 已经退出微软自己的舞台.Web 服务器用的是Microsoft-IIS/6.0.

eBay
操作系统用:Windows Server 2003 /2000, Web服务器用 Microsoft-IIS/6.0 (5.0). 对这个检测有些怀疑.eBay 大规模使用 Windows ?

GNU.org
操作系统全是 Debian Linux(没错,Debian 是 GNU 正宗传人). Web 服务器: Apache/1.3.31 (Debian GNU/Linux) mod_python/2.7.10 Python/2.3.4 , 也有的配置是:Apache/1.3.26 (Unix) Debian GNU/Linux mod_python/2.7.8 Python/2.1.3.GNU.org 对 Python 用的比较多的.

看看国内的一些公司.

阿里巴巴
操作系统是 Linux . Web 服务器: Apache/1.3.29 (Unix) mod_alibaba/1.0 Resin/2.1.13 .
(+mod_gzip/1.3.26.1a). mod_alibaba 模块估计是专门定制的.

Sina
操作系统是 FreeBSD. Web 服务器都是 Apache/2.0.54 .

百度
操作系统是 Linux , Web 服务器: Apache/1.3.27. 整齐划一.

搜狐
操作系统居然是 SCO UNIX ,Web 服务器信息: Apache/1.3.33 (Unix) mod_gzip/1.3.19.1a
看来业界传闻”Sohu 的技术力量最差”并不夸张.

网易
操作系统:Linux. Web 服务器信息: Apache/2.0.5x

这些数据是在Netcraft得到的.

分析一下上述数据,可以得到的基本信息如下:

1. Linux vs FreeBSD 半斤八两.很多公司用 Linux , FreeBSD 也不乏拥趸.但开源操作系统做 Web 应用是首选已经是一个既定事实.
2. 关于 Apache ,虽然 Apache 目前还是推荐使用 1.3 版本. 但是很多公司还是使用了 2.0 版.而 Apache.org 自己也全在使用 Apache 2.0 .甚至是 2.2 .
3. Mod_gzip 被一些公司有选择的使用.
4. 技术实力强的公司定制自己专用的模块.

这些判断的前提是 Netcraft 的探测是正确的并且具备代表性.

使用.htaccess保护目录

使用.htaccess对web目录进行保护,有2种方法。
一种是在apache2的配置文件中写入目录的保护状况,另外一种,是在需要保护的目录下放置.htaccess文件。
2种方法有些区别。一般来说,第一种的方法性能好些;而对于虚拟主机来说,似乎是只能采用第2种方法

Continue reading

对apache2进行压力测试

测试一下apache2性能。
首先,最基本的,使用apache2的参数
 
ab 参数:
Usage: /usr/sbin/ab [options] [http[s]://]hostname[:port]/path
Options are:
    -n requests     Number of requests to perform
    -c concurrency  Number of multiple requests to make
    -t timelimit    Seconds to max. wait for responses
    -p postfile     File containg data to POST
    -T content-type Content-type header for POSTing
    -v verbosity    How much troubleshooting info to print
    -w              Print out results in HTML tables
    -i              Use HEAD instead of GET
    -x attributes   String to insert as table attributes
    -y attributes   String to insert as tr attributes
    -z attributes   String to insert as td or th attributes
    -C attribute    Add cookie, eg. ‘Apache=1234’ (repeatable)
    -H attribute    Add Arbitrary header line, eg. ‘Accept-Encoding: zop’
                    Inserted after all normal header lines. (repeatable)
    -A attribute    Add Basic WWW Authentication, the attributes
                    are a colon separated username and password.
    -P attribute    Add Basic Proxy Authentication, the attributes
                    are a colon separated username and password.
    -X proxy:port   Proxyserver and port number to use
    -V              Print version number and exit
    -k              Use HTTP KeepAlive feature
    -d              Do not show percentiles served table.
    -S              Do not show confidence estimators and warnings.
    -g filename     Output collected data to gnuplot format file.
    -e filename     Output CSV file with percentages served
    -s              Use httpS instead of HTTP (SSL)
    -h              Display usage information (this message)

ex: 要执行 1000 次的 connection, 20 次的 concurrent (并行,同时).

语法: ab -n 1000 -c 20 http://www.syxin.com/index.html

结果

Time taken for tests: 一共花费.(以上 1000 次共多久)

Requests per second: 每秒平均可以处理多少个 connection.

 

 

# ab -n 100000 -c 200 http://www.syxin.com/index.html
This is ApacheBench, Version 2.0.41-dev <$Revision: 1.141 $> apache-2.0
Copyright (c) 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/
Copyright (c) 1998-2002 The Apache Software Foundation, http://www.apache.org/

Benchmarking www.syxin.com (be patient)
Completed 10000 requests
Completed 20000 requests
Completed 30000 requests
Completed 40000 requests
Completed 50000 requests
Completed 60000 requests
Completed 70000 requests
Completed 80000 requests
Completed 90000 requests
Finished 100000 requests

Server Software:        Apache/2.0.54
Server Hostname:        www.syxin.com
Server Port:            80

Document Path:          /index.htm
Document Length:        207 bytes

Concurrency Level:      200
Time taken for tests:   34.889229 seconds
Complete requests:      100000
Failed requests:        0
Write errors:           0
Non-2xx responses:      100013
Total transferred:      40805304 bytes
HTML transferred:       20702691 bytes
Requests per second:    2866.21 [#/sec] (mean)
Time per request:       69.778 [ms] (mean)
Time per request:       0.349 [ms] (mean, across all concurrent requests)
Transfer rate:          1142.13 [Kbytes/sec] received

Connection Times (ms)
              min  mean[+/-sd] median   max
Connect:        0   17 277.5      0   20997
Processing:     4   50 281.2     32   25913
Waiting:        4   49 280.1     31   25912
Total:         10   67 436.2     32   28912

Percentage of the requests served within a certain time (ms)
  50%     32
  66%     35
  75%     67
  80%     69
  90%     77
  95%     79
  98%     81
  99%    127
 100%  28912 (longest request)

apache2做基于域名的虚拟主机

NameVirtualHost 127.0.0.1
<VirtualHost webstite>
        ServerName website1
        ServerAlias website2
        DocumentRoot /website
 </VirtualHost>
<VirtualHost website3>
        ServerName website3
        DocumentRoot /website3
</VirtualHost>