1

以下のように、hello.phpサンプルにヘッダー関数を追加します。

<?php
   header("xxxxx: yyyyy");
   fwrite(STDOUT, "see headers.<br><br>Hello, PHP!<br>current working directory: ".getcwd());
   exit(200); // return an HTTP code (200:'OK')
?>

しかし、firebugにはそのようなヘッダーはありません。
gwanを使用してphpcliにヘッダーを追加する方法を誰が説明できますか?

4

2 に答える 2

2

ギルとリチャードのおかげで、
今、あなたのアドバイスに従ってやったことです。PHP は、カスタマイズされたヘッダーを使用して gwan で動作します。

<?php
 $output='See headers....Hello, PHP!<br>from gwan';
   $len=strlen($output);
   fwrite(STDOUT, "HTTP/1.0\r\nContent-Type: text/html; charset=UTF-8\r\nConnection: close\r\nContent-Length: $len\r\nxxxxx: yyyyy\r\n\r\n$output");
    exit(1);
?>

i useab -c 1000 -n 100000 http:127.0.0.1/?hello.php
メモリ使用量が2.9GiB の 0.7% 増加 = 0.0203GiB
CPU 使用量が20% から 75% に増加 = 50% (gwan と同じマシンで ab を実行)
古いマシン intel P9300 2.26 で実行しましたGHz × 2、ubuntu 12.04


10,479リクエスト/秒 で失敗せずに9.543秒で終了しました

于 2013-01-24T08:29:18.287 に答える
0

トムは正しい。G-WAN によって注入された HTTP ヘッダーをバイパスするには (あなたのためreturned 200)、1 から 99 の範囲の値 (無効な HTTP ステータス コード) を返す必要があります。

次に、独自の HTTP ヘッダー (存在する場合) が使用されます。

return 0;接続を閉じることを意味return 200-600;し、G-WAN に対応する HTTP ヘッダーを生成するよう指示する HTTP リターン コード用に予約されています。

PDF マニュアルは、読む価値のあるリソースです。


一言だけ"fastCGI": 複数のスレッドからスクリプトを並行して実行するよりも、決して高速ではありません...ネットワーク(サーバーと PHP の間) を使用することはありません。

追加する中間層またはインターフェースが多いほど"fastCGI"、ネットワークを使用してインターフェースを介してスクリプトを実行すると、コードを直接実行するよりも必然的に遅くなるため、処理が遅くなります (また、PHP の「fastCGI」サーバーが非常に遅い、fastCGI プロトコル自体が無意味に複雑で遅い、その上、fasctCGI の実装が最適ではない)。

現在、マルチコア CPU があり、並列処理は必ずしも水平スケーラビリティ (多数の接続されたマシンでコードを実行することによって得られるスケーラビリティ) を伴うわけではありません。

(ローカル マシンに存在する多くの CPU コアで) 垂直方向にスケーリングする方がはるかに安価です (高速でエネルギー効率が高くなります)。

CPU コアの数が指数関数的に増加しているため、元に戻す方法はありません。垂直方向にスケーリングすることは、時間が経つにつれてますます理にかなっています。

于 2013-01-22T17:38:04.740 に答える