Top > bench > php > xmlrpc

PHPのXML-RPCライブラリのベンチマーク

PHP で XML-RPC を利用する際には、PEARライブラリの XML-RPCと、PHPのXML-RPC Extension が多く知られています。

では、どのライブラリがどれだけ速いのか? 素朴な疑問ありましたので、実行速度を計測してみました。

スペック

  • クライアント(xmlrpcclient.example.com)
    • ハード
      • Kernel : Linux 2.6.9
      • CPU : Intel(R) Core(TM) Duo CPU T2500 @ 2.00GHz
      • MEMORY : 1G
  • ソフト
    • PHP 5.2.5
    • PEAR XML-RPC 1.5.1
    • PEAR XML-RPC2 1.0.2
    • Apache 2.2.8
  • サーバー(xmlrpcserver.example.com)
    • ハード
      • xmlrpcserver.example.com
      • OS : Windows XP Professional SP2
      • CPU : Intel(R) Celeron(TM) M 1.40GHz
      • MEMORY : 1G
  • ソフト
    • PHP 5.2.5
    • PEAR XML-RPC 1.5.1
    • PEAR XML-RPC2 1.0.2
    • Apache 2.2.6

テスト概要

  • XML-RPCクライアント xmlrpcclient.example.com から、XML-RPCサーバ xmlrpcserver.example.com へリクエストを送信(POST)。
     Apache Bench を利用して、100人同時に、100リクエストを送信。合計10000万リクエストを送信。
     URLはサンプルです
    #ab -n 10000 -c 100 http://xmlrpcserver.example.com/xmlrpc_bench/php_extension_server.php
  • XML-RPCサーバ xmlrpcserver.example.com でリクエストを受信し、XML-RPCリクエストをデコードし、XML-RPCクライアント xmlrpcclient.example.com へレスポンスを送信。

結果

php_xmlrpc_extensionは、pear_XML-RPCより、およそ4.3倍速いという結果になりました。

Requests per second

ライブラリRequests per second
php_xmlrpc_extension237
pear_XML-RPC54.57
pear_XML-RPC244.74
phpxmlrpc32.76
Requests_per_second.jpg

Time taken for tests

ライブラリTime taken for tests
php_xmlrpc_extension42.194386
pear_XML-RPC183.238006
pear_XML-RPC2223.534755
phpxmlrpc305.213252
Time_taken_for_tests.jpg

ソース

以下のスクリプトの動作は保証しません。


リロード   新規 下位ページ作成 編集 凍結 差分 添付 コピー 名前変更   ホーム 一覧 検索 最終更新 バックアップ リンク元   ヘルプ   最終更新のRSS
Last-modified: Wed, 24 Sep 2014 17:02:53 JST (1061d)

© 2006-2008 Internet Revolution