美文网首页
D-45网站服务配置过程

D-45网站服务配置过程

作者: 荆俊玮 | 来源:发表于2019-10-03 12:41 被阅读0次

一、压力测试

方式一:weddench软件(只支持HTTP协议)

第一里程:将下载的软件包放在指定的工具包目录中
下载地址:http://soft.vpser.net/test/webbench/webbench-1.5.tar.gz
第二里程:进入到工具包目录并并解压
cd 指定工具包目录
tar -zxf webbench-1.5.tar.gz
第三里程:编译翻译
cd webbench-1.5
make
第四里程:编译安装
make install
第五里程:压力测试
webbench -c 并发访问数量 -t 测试时间 网址西悉尼
如:webbench -c 1000 -t 60 http://www.oldboy.com/
Webbench - Simple Web Benchmark 1.5
Copyright (c) Radim Kolar 1997-2004, GPL Open Source Software.
(上面是软件自己的广告)
Benchmarking: GET http://www.oldboy.com/ 测试地址
1000 clients, running 60 sec. 测试条件 1000个并发测试 运行60秒
Speed=466401 pages/min, 2059935 bytes/sec. 测试速度 每分钟打开466401次页面 每秒传输2059935字节
Requests: 932802 susceed, 0 failed. 测试结果 发送请求: 932802个成功 , 0个失败

方式二:http_load软件

优点:该程序非常小,解压后也不到100K,http_load以并行复用的方式运行,用以测试web服务器的吞吐量与负载。但是它不同于大多数压力测试工具,它可以以一个单一的进程运行,一般不会把客户机搞死。还可以测试HTTPS类的网站请求。
第一里程:将下载的软件包放在指定的工具包目录中
下载地址:(http://soft.vpser.net/test/http_load/http_load-12mar2006.tar.gz)
第二里程:进入指定工具包目录并解压
cd 指定工具包目录
tar zxvf http_load-12mar2006.tar.gz
第三里程:编译翻译且安装
cd http_load-12mar2006
make && make install
第四里程:配置测试文件
vim /etc/URL
需要测试的文件网址。如:http://www.oldboy.com/
ps:数量最好在50-100个,效果相对明显
第五里程:压力测试
http_load -p 并发访问进程数 -s 访问时间 需要访问的URL文件
如:http_load -p 30 -s 60 /etc/URL
返还值
1.49 fetches, 2 max parallel, 289884 bytes, in 10.0148 seconds
说明在上面的测试中运行了49个请求,最大的并发进程数是2,总计传输的数据是289884bytes,运行的时间是10.0148秒
2.5916 mean bytes/connection说明每一连接平均传输的数据量289884/49=5916
3.4.89274 fetches/sec, 28945.5 bytes/sec
说明每秒的响应请求为4.89274,每秒传递的数据为28945.5 bytes/sec
4.msecs/connect: 28.8932 mean, 44.243 max, 24.488 min说明每连接的平均响应时间是28.8932 msecs,最大的响应时间44.243 msecs,最小的响应时间24.488 msecs
5.msecs/first-response: 63.5362 mean, 81.624 max, 57.803 min
6、HTTP response codes: code 200 — 49 说明打开响应页面的类型,如果403的类型过多,那可能要注意是否系统遇到了瓶颈。

方式三:httpd-tools

第一里程:安装软件
yum install -y httpd-tools
第二里程:编辑解析问价
vim /etc/hosts
10.0.0.9 www.oldboy.com
第三里程:压力测试
ab -c 并发请求HTTP报文数量 -n 总共发送多少个请求报文 测试网址
ps:测试网址后面一定要加/,否则无法识别
如:ab -c 100 -n 10000 http://www.oldboy.com/
补充:当并发访问数量达到一定数值时,压测将出现Too many open files (24)的错误信息,即达到系统最大连接数限制,可以通过ulimit -a命令查看当前最大连接数,可以通过”echo '* - nofile 65535 ' >>/etc/security/limit.conf“命令修改最大连接数值,但最大为65535

二、nginx服务访问流量控制

作用:网站受到攻击,使网站压力过大,做出的应对

方式一: 基于IP地址连接数进行控制

说明: 控制一个源IP地址只能建立1个连接,且http_limit_conn_module模块可以此限制
配置指令信息:
Syntax: limit_conn_zone key zone=name:size;
Default: —
Context: http
变量说明:
key: 变量信息,在连接建立后,收集什么信息做控制管理
💲remote_addr:变量的长度为7字节到15字节,存储状态在32位平台中占用32字节或64字节,在64位平台中占用64字节。
$binary_remote_addr:变量的长度是固定的4字节 ,存储状态在32位平台中占用32字节或64字节,在64位平台中占用64字节。
1M共享空间可以保存3.2万个32位的状态,1.6万个64位的状态。
zone: 定义共享存储空间
name: 存储空间的名称信息
size: 存储空间大小信息

image.png
Syntax: limit_conn zone number;
Default: —
Context: http, server, location
zone: 调用响应的存储空间
number: 限制存储空间源IP地址可以处理的数量
image.png

配置样例:

[root@web02 conf.d]# cat www.conf 
limit_conn_zone $binary_remote_addr zone=oldboy:10m;
server {
    listen        80;
    server_name   www.oldboy.com;
    root         /html/www;
    ndex        index.html;
    limit_conn oldboy 1;
}

方式二: 基于用户访问请求的频次

http_limit_req_module用此模块进行限制
配置指令信息:
Syntax: limit_req_zone key zone=name:size rate=rate [sync];
Default: —
Context: http
key: 变量信息,在连接建立后,收集什么信息做控制管理
💲remote_addr 变量的长度为7字节到15字节 存储状态在32位平台中占用32字节或64字节,在64位平台中占用64字节。
$binary_remote_addr 变量的长度是固定的4字节 存储状态在32位平台中占用32字节或64字节,在64位平台中占用64字节。
1M共享空间可以保存3.2万个32位的状态,1.6万个64位的状态。
zone: 定义共享存储空间
name: 存储空间的名称信息
size: 存储空间大小信息
rate: 多个请求频次信息
Syntax: limit_req zone=name [burst=number] [nodelay];
Default: —
Context: http, server, location
burst=number: 最大的请求阈值, 超过阈值请求都会进行控制(即最大的并发访问数值)
配置样例:

[root@web02 conf.d]# cat www.conf 
limit_req_zone $binary_remote_addr zone=creq:10m rate=1r/s;
server {
    listen        80;
    server_name   www.oldboy.com;
    root         /html/www;
    index        index.html;
    limit_req zone=creq burst=10;
    
}

三、nginx服务程序日志说明

访问日志: 记录访问网站用户信息

1.访问日志如何配置:
log_format main '💲remote_addr - 💲remote_user [💲time_local] "💲request" ' ---定义日志信息格式
'💲status 💲body_bytes_sent "💲http_referer" '
'"💲http_user_agent" "💲http_x_forwarded_for"';
access_log /var/log/nginx/access.log main; ---定义日志保存路径

访问日志的信息说明:
    $remote_addr            客户端源IP地址
    $remote_user            记录网站认证用户名称信息
    [$time_local]           客户端访问网站页面时间信息
    "$request"              记录请求行信息     
    $status                 服务端响应的状态码信息
    $body_bytes_sent        响应报文的主体内容大小信息(字节)
    "$http_referer"         记录跳转到网站,链接地址  
    "$http_user_agent"      记录访问者客户端信息

错误日志: 记录服务运行状态信息/记录网站访问错误的信息

错误日志如何配置:
error_log /var/log/nginx/error.log warn; 指定日志保存路径/指定记录日志级别
常见调试/运行状态信息
debug 调试级别 对低级别记录信息更多
info 信息级别
notice 通知级别
warn 警告级别(建议) ***
产生信息表示服务运行异常
error 错误界别 ***
crit 严重的错误级别
alert 非常验证的错误级别
emerg 灾难级别 最高级别记录的信息更少

相关文章

  • D-45网站服务配置过程

    一、压力测试 方式一:weddench软件(只支持HTTP协议) 第一里程:将下载的软件包放在指定的工具包目录中下...

  • Rewrite 重写配置

    ps:在网站建设的过程中会出现服务器未开启rewrite配置,最近只用nginx配置thinkphp了,所以先只写...

  • 8月14日 存储服务器

    网站存储服务概念介绍 网站存储服务部署过程

  • LNMP环境下搭建wecenter

    搭建wecenter网站www.gcy.com 1.部署nginx 参见web服务部署nginx过程,修改配置文件...

  • 网站服务配置文件-nginx

    1.网站服务配置文件 nginx扩展配置文件:

  • nginx2-网站服务部署

    老男孩教育61期--week15--网站web服务 课程介绍部分:网站web服务扩展应用说明a 网站状态模块配置说...

  • 68.win7配置并使用IIS网站服务器

    一、配置IIS网站服务器 在windows系统下直接配置IIS网站服务器控制面板-程序和功能-打开或关闭windo...

  • 架构存储服务部署与参数详解

    课程介绍 1. 网站架构存储服务配置参数2. 网站架构存储服务应用方式3. 网站架构存储服务挂载操作 参数4. 网...

  • 阿里云服务器新手教程

    阿里云服务器新手教程从云服务器选配购买、云服务器配置到网站上线全过程,阿里云服务器如何购买?购买后如何使用?新手站...

  • CentOS 7搭建LAMP环境(二)

    前面已经讲过了CentOS 7下LAMP环境的配置过程,一台简单的WEB服务器已搭建完成,但后期在网站部署的过程中...

网友评论

      本文标题:D-45网站服务配置过程

      本文链接:https://www.haomeiwen.com/subject/wumhyctx.html