LinuxサーバにTCPCopyを使用してユーザーアクセストラフィックを取得するインストール
tcpcopyは圧力テストツールとしても、実際のユーザーアクセストラフィックを取得して、実際の実行環境をシミュレートすることもできます。tcpcopyの開発者は、TCPCopyはレプリケーション(tcpベースのすべてのpackets)を要求するツールであり、その応用分野が広く、TCPCopyプログラムを利用しています。memcachedにアクセスするシステムトラフィックをmembaseシステムにコピーすることができます。membaseにとって、このトラフィックはmembaseにアクセスし、直接オンラインに接続します。
membaseの効果と同様に、さまざまな実験を行い、membaseのさまざまな特性を確認することができます。
主に以下の機能があります。2)普通のオンラインテストでは、新しいシステムが安定しているかどうかを発見することができ、事前にオンライン過程で発生する多くの問題を発見し、譲ることができる。
発行者はオンラインになる自信がある4)流量拡大機能、多種の手段を利用して無限のオンライン圧力を構築でき、中小サイトの圧力テスト要求を満たす
5)TCPCopyを利用して従来の圧力テストツールからの要求を転送し、ネットワーク遅延を増加し、圧力テストをよりリアルにすることができる。インストール:
コードのコピー
tar -zxvf tcpcopy-0.9.0 .tar.gz
cd tcpcopy-0.9.0
./configure
make
make install
現在のコードはgithub(https://github.com/session-replay-tools/tcpcopy)にアップロードしました。1.0以上のバージョンでは、tcpcopyとinterceptパッケージが別々になっています。interceptをインストールする場合は、別途ダウンロードする必要があります。义齿h...not foundはyum install libpcap-develで解決できます。
コードのコピー
iptables -I OUTPUT -p tcp --sport port -j QUEUE
TCPCopy client(rootユーザー実行)
tcpcopyローカルipアドレス1[:ローカルipアドレス2:...]ローカルportリモートipアドレスリモートport
コードのコピー
modprobe ip_queue
iptables -I OUTPUT -p tcp --sport 80 -j QUEUE
interception
コードのコピー
tcpcopy 10.1.6.205 80 10.1.6.206 80
1)Linuxプラットフォーム、カーネル2.6+、netlinkメカニズムをサポートする必要がある
2)TCPCopyでのtcpcopyとinterceptionプログラムの実行にはroot権限が必要
3)interception同じマシンで1つのインスタンスを実行するだけで、複数のインスタンスはまだサポートされていません
4)TCPCopy clientはテストサーバーの36524ポートを接続する必要があるので、36524ポートを外部に開放する
5)TCPCopyは,パッケージング関数に依存し,圧力が大きい場合には,パッケージング関数自体が信頼できないため,パッケージングが失われ,
さらに要求を失う
6)interceptionプログラムはip queueカーネルモジュールに密接に関係しているため,圧力が大きい場合に要求する
損失率が高くsysctlシステムパラメータを最適化する必要がある(cat/proc/net/ip_queueにより、
ip queueの実行状況を表示し、Queue droppedの数値が増加し続ける場合はip_を変更する必要があります。queue_maxlenパラメータ、
例えばecho 4096>/proc/sys/net/ipv 4/ip_queue_maxlen;
Netlink droppeddeの数値が増加し続ける場合はnet.を変更します。core.rmem_maxとnet.core.wmem_maxパラメータ、