コレクションのパフォーマンスを向上させるLogtail

デフォルトの性能限界

マシンリソースの過剰消費の乱用を防ぐために、我々は、リソースの制約の一連のインストールをデフォルトLogtail。デフォルトのインストールでは、コレクションのスピードアップ20M / sの、20の同時伝送を記録Logtail。

起動パラメータ:他のリソースの制約を参照してください  https://help.aliyun.com/document_detail/32278.html  デフォルト設定。

取得機能

シングル核の能力

フロー制御は、以下のように伝送容量Logtail単核デフォルトを解除された場合(特定の規則的に依存して、抽出されたキー番号を収集し、ログ種別、いくつかの他の機械構成がフロートが存在するであろう)。

 

   

ミニマリストモード

通常モード

セパレーターモデル

JSONモード

シングル核の能力

(単球100%CPU)

取得速度

100メガバイト/ sの

20メガバイト/秒

35メガバイト/秒

30メガバイト/秒

メモリフットプリント

80

80

80

80

取得速度

0.1メガバイト/秒(200条/ S)

CPU占有率(シングルコア)

0.3%

0.6%

0.5%

0.5%

メモリフットプリント

32

32

32

32

取得速度

1メガバイト/秒(2000条/秒)

CPU占有率(シングルコア)

1.3%

5.0%

3.5%

3.5%

メモリフットプリント

32

32

32

32

 

注:テスト環境
CPU:インテル(R)Xeon(R)E5-2682 V4 CPUの@の2.50GHzの
MEM:64ギガバイト
OS:Linuxバージョン2.6.32-220.23.2.ali1113.el5.x86_64

マルチコア機能

マルチコアをオンにした場合、データを処理するためにスレッドを1つだけ開いてデフォルトLogtail、パフォーマンスが改善されますが、関係は8つのスレッド、ほとんど性能向上の最大の測定された開、直線的ではありません。

  • 最高のパフォーマンスへのミニマリストモードまで:440メガバイト/秒
  • 定期的なリーチ、最大のパフォーマンス:70メガバイト/秒
  • 最大の区切り最大:75メガバイト/秒
  • までのJSON最高性能:75メガバイト/秒

ログ形式が推奨します

対応するログ形式を選択し、使用目的に応じて、

  1. データ転送:ミニマリストの使用モード、最大のパフォーマンス
  2. データ分析:複数文字の区切り文字>単一文字の区切り文字> JSONモード>ノーマルモード
  3. Javaスタックのデータ・タイプ:通常モード
  • 注意:通常のモードの取得と、通常のパフォーマンスの最適化は、非常に大きな関係があります。

資源制約を手放す方法

Logtailの起動パラメータを調整することで、デフォルトのリソース制限を手放すことができ、我々は、構成の以下の2種類をお勧めします。

  • 注意:Logtailは、データを送信するために、短い接続を使用して、同時高すぎる送信する場合、過大TIME_WAITのを防ぐために、サーバのTCPパラメータを調整することをお勧めします
  • 調整:sudo sysctl -w net.ipv4.tcp_tw_timeout=5

シングルコアモードペティ

設定ファイルの末尾に以下の二つの追加のパラメータは、あなたが法的なJSONに注意を払う必要があります。

{
    ...
    "max_bytes_per_sec" : 50000000,
    "send_request_concurrency" : 50
}

マルチコアエクストリームモード

設定ファイルでは、最後にJSONに注意を払うために合法的な必要性を確保する必要性を次のパラメータを追加します。

  • 注:保証する必要cpu_usage_limit> process_thread_count
{
    ...
    "cpu_usage_limit" : 5,
    "process_thread_count" : 4,
    "max_bytes_per_sec" : 50000000,
    "send_request_concurrency" : 50
}


オリジナルリンク
この記事Yunqiコミュニティのオリジナルコンテンツが許可なく複製することはできません。

おすすめ

転載: blog.csdn.net/weixin_43970890/article/details/91043564