apache web server-性能测试和负载均衡

本文介绍如何通过参数设置提升Apache服务器性能,并利用ab工具进行性能测试。此外还介绍了如何配置Apache实现基本的负载均衡功能。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 说明

本文系我的"Web Server & Web Technology (WSWT)系列博客之一,主要讲解Linux系统的Apache配置和使用,以及如何使用apache搭建自己的个人网站".该系列博客的总目录参见这里http://blog.youkuaiyun.com/u014303046/article/details/73694983

2. Performance Tuning

我们将通过设置一些参数让我们的服务器运行速度更快更好。

  • 关闭HostnameLookups
    HostnameLookups off
  • AllowOverride
    当这个参数设置为allow的时候,服务器会尝试在所有目录下寻找对应文件,因此设置为None:
    AllowOverride None
  • Negotiation
    如果你使用DirectoryIndex index那么当请求到来的时候服务器可能会查找index.*等各种后缀的文件,为了避免这种情况发生,请写全名:
    DirectoryIndex index.html index.php
  • 卸载不需要的模块

3. Performance Testing

性能测试可以帮助我们确定系统性能,主要包括速度、可扩展性和稳定性等内容。
对于Apache web服务器来说我们可以使用ab程序来测试,你可以在/server_root/bin目录下找到这个程序,测试的时候运行以下指令:

./ab [options] [http://]hostname[:port]/path

你可以在这个链接找到options的参数列表:
(http://httpd.apache.org/docs/2.4/programs/ab.html).

举例:

./ab -n 300 -c 15 http://172.17.0.2

参数说明:
-n 一共发送300个请求
-c 并发请求数目
其他参数:
-t timeimit
-s timeout
… …

4. 负载均衡(Load Balancing)

这里写图片描述
首先创建2个服务器:

sudo docker run -ti  -p 2222:80  apache:v1.0 bash
sudo docker run -ti  -p 2223:80  apache:v1.0 bash

分别修改/etc/apache2/server_root/htdocs/index.html文件,第一个服务器修改为:
这里写图片描述
第二个服务器修改为:
这里写图片描述

启动两个服务器:

./apachectl start

接下来,从docker创建一个负载均衡器:

sudo docker run -ti  -p 80:80  apache:v1.0 bash

进入之后首先修改:

vim /etc/apache2/server_root/htdocs/index.html

这里写图片描述
然后去掉以下模块的注释:

proxy
proxy_http
proxy_ajp
rewrite
deflate
headers
proxy_balancer
proxy_connect
proxy_html
lbmethod_byrequests

启动load balancer服务器之后在浏览器输入load balancer的IP地址,你会看到:
这里写图片描述
然后,修改httpd.conf文件,增加:

<Location /balancer-manager>
    SetHandler balancer-manager
</Location>

<Proxy balancer://mycluster>
    # Define back-end servers:
    # Server 1
    BalancerMember http://172.17.0.3:80/ loadfactor=1
    # Server 2
    BalancerMember http://172.17.0.4:80/ loadfactor=1
    ProxySet lbmethod=byrequests
</Proxy>


<VirtualHost *:80>
    ProxyPass /balancer-manager !
    ProxyPass / balancer://mycluster/
</VirtualHost>

此时再次访问http:172.17.0.2你会发现我们会交替得到:
Content form Server 1 和 Content from Server 2.
这说明Load balancer会把我们的请求交替发给两个服务器,然后得到返回结果。

5. 总结

本文讲解了性能测试和负载均衡的简单用法。
至此,苯系列教程结束。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

痴澳超

如果感觉博客有帮助,请我喝杯咖

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值