php 函数 慢,php – 为什么header()函数非常慢?

我正在分析我的

PHP网站的性能,并惊讶地发现瓶颈是

header功能.

我正在运行PHP 5.3和Apache 2.4.

我用ab对两个简单文件进行了基准测试,发现第一个执行的phpinfo() – 比第二个调用头快得多.

第一个文件(能够以每秒1000多个请求运行):

第二个文件(每秒只能满足12个请求!):

完成第一次测试的ab输出:

C:\work\apache24\bin>ab -n 1000 -c 200 http://q.localhost/test.php

This is ApacheBench, Version 2.3

Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/

Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking q.localhost (be patient)

Completed 100 requests

Completed 200 requests

Completed 300 requests

Completed 400 requests

Completed 500 requests

Completed 600 requests

Completed 700 requests

Completed 800 requests

Completed 900 requests

Completed 1000 requests

Finished 1000 requests

Server Software: Apache/2.4.16

Server Hostname: q.localhost

Server Port: 80

Document Path: /test.php

Document Length: 69600 bytes

Server Software: Apache/2.4.16

Server Hostname: q.localhost

Server Port: 80

Document Path: /test.php

Document Length: 69600 bytes

Concurrency Level: 200

Time taken for tests: 0.984 seconds

Complete requests: 1000

Failed requests: 0

Total transferred: 69768000 bytes

HTML transferred: 69600000 bytes

Requests per second: 1015.82 [#/sec] (mean)

Time per request: 196.885 [ms] (mean)

Time per request: 0.984 [ms] (mean, across all concurrent requests)

Transfer rate: 69210.84 [Kbytes/sec] received

完成第二次测试的ab输出:

C:\work\apache24\bin>ab -n 1000 -c 200 http://q.localhost/test.php

This is ApacheBench, Version 2.3

Copyright 1996 Adam Twiss, Zeus Technology Ltd, http://www.zeustech.net/

Licensed to The Apache Software Foundation, http://www.apache.org/

Benchmarking q.localhost (be patient)

Completed 100 requests

Completed 200 requests

Completed 300 requests

Completed 400 requests

Completed 500 requests

Completed 600 requests

Completed 700 requests

Completed 800 requests

Completed 900 requests

Completed 1000 requests

Finished 1000 requests

Server Software: Apache/2.4.16

Server Hostname: q.localhost

Server Port: 80

Document Path: /test.php

Document Length: 0 bytes

Concurrency Level: 200

Time taken for tests: 80.099 seconds

Complete requests: 1000

Failed requests: 0

Total transferred: 168000 bytes

HTML transferred: 0 bytes

Requests per second: 12.48 [#/sec] (mean)

Time per request: 16019.840 [ms] (mean)

Time per request: 80.099 [ms] (mean, across all concurrent requests)

Transfer rate: 2.05 [Kbytes/sec] received

对标头功能的简单调用可将性能降至每秒12个请求.这震惊了我.

为什么header()函数这么慢,有什么我可以在配置中修改它来修复它?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值