1.创建测试网页,文件内容是在用户请求时先循环开方10000000次,然后再返回“OK!”
vi index.php

<?php
  $x = 0.0001;
  for ($i = 0; $i <= 10000000; $i++) {
    $x += sqrt($x);
  }
  echo "OK!";
?>

2.编写Dockerfile制作镜像
vi Dockerfile

FROM php:5-apache
COPY index.php /var/www/html/index.php
RUN chmod a+rx index.php

3.执行如下命令构建镜像,镜像名称为ppp,版本为test
docker build -t ppp:test .
4.运行镜像
docker run --name ppp -p 80:80 -d ppp
5.网页压力测试
安装
yum install -y httpd
测试
ab -c 5000 -r -n 40000000 http://10.0.0.10/
其中-c表示并发连接数;-n表示总共的请求数量;-r表示出现错误不退出,这个参数可以保证测试的连续性。注意http链接最后一定要是"/",否则报错。

6.备注,打开较多连接会出现文件打开过多
查看最大打开文件数
ulimit -n
临时修改为102400,重新连接后失效
ulimit -n 12400
永久修改为102400

cat >> /etc/security/limits.conf << EOF
root soft nofile 102400
root hard nofile 102400
EOF

修改后,重新使用 root 登录检查是否生效