最初,我在上公布。 服务器Fault,但也许更多的是PHP的同质问题。
我拥有一台服务器,其核心L5420运行时间为2.5GHz。 我先是优化我的服务器,最后的瓶颈:PHP。
我非常简单的购买力平价:
/test.php
<?php print_r(posix_getpwuid(posix_getuid()));
我的无意识-神论-神论 偿还-留级-视距-视距-中等-中等-中等-中等-中等-中等-中等-中等-中等 文字:
./benchmark-php
#!/bin/bash
if [ -z $1 ]; then
LIMIT=10
else
LIMIT=$1
fi
if [ -z $2 ]; then
SCRIPT="index.php"
else
SCRIPT=$2
fi
START=$(date +%s.%N)
COUNT=0
while (( $COUNT < $LIMIT ))
do
php $SCRIPT > /dev/null
COUNT=$(echo "$COUNT + 1" | bc)
done
END=$(date +%s.%N)
DIFF=$(echo "$END - $START" | bc)
REQS_PER_SEC=$(echo "scale=2; $COUNT / $DIFF" | bc)
echo $REQS_PER_SEC
/really-benchmark-php
#!/bin/bash
if [ -z $1 ]; then
LIMIT=10
else
LIMIT=$1
fi
if [ -z $2 ]; then
THREADS=16
else
THREADS=$2
fi
if [ -z $3 ]; then
SCRIPT="index.php"
else
SCRIPT=$3
fi
PIDS=""
echo > results
for thread in `seq 1 $THREADS`; do
./benchmark-php $LIMIT $SCRIPT >> results &
PIDS="$PIDS $!"
done
for PID in $PIDS; do
wait $PID
done
RESULTS=`cat results`
MATH="0"
for RESULT in $RESULTS; do
MATH="$MATH + $RESULT"
done
echo "$MATH" | bc
The result of running /really-benchmark-php 100 8 test.php
is ~137 requests per second.
• 在Trupal 返回的 s或我的板动力状态上打上同样的文字
我已经安装了装甲运兵车和午餐,我已经核实,他们会因违约而重新运行。 (Yes,装甲运兵车使_cli也在车上。) 是否有人知道“快车花板”的开关?
我有一个替代配置(FPM/FastCGI),为MySQL Drupal安装的~140 q/s服务......如果PHP本身甚至能够从指挥线向2 req/s提供服务,那么如何能够做到这一点?
固定网页: test php: drupal-mysql: drupal-sqlite: ab -n1000 -c 100 http://x.x.x/
二次请求: 683.71ab -n 100 -c 5 http://x.x.x.x/
Requests per second: 41.38ab -n 100 -c 10 http://x.x.x.x/drupal/
Requests per second: 0.24ab -n 100 -c 10 http://x.x.x.x/drupal-test/
Requests per second: 4.92