Centos 7をインストールした後、DNSが/ etc / hostsに保存されているアドレスを検索するのに時間がかかることを確認しました。例は次のとおりです。
time curl -X get http://localhost
real 0m0.159s
user 0m0.004s
sys 0m0.005s
しかし、
time curl -X get http://127.0.0.1
real 0m0.005s
user 0m0.001s
sys 0m0.003s
各要求は「localhost」を確認するのに約0.15秒かかります。
Centos 6.5の同じネットワーク上の別のサーバーで同じテストを実行しましたが、「localhost」は「127.0.0.1」ほど高速です。
答え1
レッドハットバグ1130239 - RHEL6とRHEL7のカール性能の違い:
ライブラリ
libcurl
は、アクティブなファイル記述子のないジョブ(短いジョブでも)に不必要に長いブロック遅延を使用します。これは、ホスト名解決の使用など、特定のタスクを/etc/hosts
完了するのに人為的に長い時間がかかることを意味します。のブロックコードは、libcurl
初期遅延が短く、イベントが発生するまで徐々に増加するように修正されました。libcurl
これで、クイックタスクがより速く完了します。
ソースから新しいバージョンのカールをインストールします。
git clone https://github.com/bagder/curl.git
cd curl
yum install libtool
./buildconf
./configure
make
make install