我正在构建一个 REST 服务,我期待很多请求(甚至是 DoS 攻击)。那么考虑网络和 CPU 消耗,哪种 HTTP 方法更适合我的服务器(接受 POST 或 GET)?
我做了一些测试......使用 VM Ubuntu 14.04(1 核)作为服务器,使用 apache 和 php
获取.php:
$s = "G: ";
foreach ( $_GET as $key => $val){
$s .= $val . ", ";
}
echo $s;
Run Code Online (Sandbox Code Playgroud)
后.php:
$s = "P: ";
foreach ( $_POST as $key => $val){
$s .= $val . ", ";
}
echo $s;
Run Code Online (Sandbox Code Playgroud)
测试 #1(使用 ab):
ab -n 10000 'http://10.0.0.112/get.php?key1=val1&key2=val2&key3=val3'
Concurrency Level: 1
Time taken for tests: 9.080 seconds
Complete requests: …Run Code Online (Sandbox Code Playgroud)