ブックマーク / techracho.bpsinc.jp (2)

  • Ruby: mallocでマルチスレッドプログラムのメモリが倍増する理由(翻訳)|TechRacho by BPS株式会社

    要約 メモリ断片化は測定や診断が困難ですが、驚くほど簡単に修正できることもあります。マルチスレッドのCRubyプログラム(mallocのスレッド単位メモリアリーナ)におけるメモリ断片化の原因を追ってみましょう。記事のボリュームは3343語、20分程度です。 単純な設定変更だけで問題を完全に解決できることはめったにありません。 私の顧客のSidekiqプロセスが大量のメモリを消費していたことがありました(1プロセスあたり1 GB程度)。開始当初の各プロセスは300MB程度でしたが、時間の経過とともにじわじわと肥大化してほぼギガバイトレベルにまで達したところで落ち着き始めました。 私は顧客にMALLOC_ARENA_MAXというたった1つの環境変数の変更を依頼しました。「2に設定してください」と。 プロセス再起動後、「じわじわ肥大化」現象はピタリと止みました。プロセスのメモリ使用量は以前の半

    Ruby: mallocでマルチスレッドプログラムのメモリが倍増する理由(翻訳)|TechRacho by BPS株式会社
    ganmacs
    ganmacs 2019/01/23
  • iptablesで鉄壁?の守りを実現する3つのTips|TechRacho by BPS株式会社

    iptablesでサーバを守るときに知っておくと良いことを3つ紹介します 1. 接続回数を制限する(IPアドレスごと) hash_limitを使います これにより特定ホストからの大量アクセス、DoS攻撃を緩和することが可能です 例 2. 接続回数を制限する(サービスごと) limitを使って制限します これにより多数のホストからの攻撃、DDoS攻撃を緩和します limitを使った制限は全ホストが等しく制限を受けるため、ssh等に設定すべきではありません。 (攻撃を受けている間は自分たちも制限されるため) Webサーバが大量アクセスで落ちそうな場合は使えるんじゃないでしょうか? 例 3. 接続IPアドレスを限定する IPアドレスの国別割り当てをAPNIC等から取得してコマンドを作ります この手のルールは長くなるので、ユーザー定義チェインにしたほうが見やすくなります 例 あとはこんな感じのスク

    iptablesで鉄壁?の守りを実現する3つのTips|TechRacho by BPS株式会社
  • 1