Y-Ken Studio

新しもの好きのデータエンジニアが四方山話をお届けします。

SoftBank携帯とnet.ipv4.tcp_tw_recycle=1の相性が悪い本当の理由

photo by saschaaa

LinuxにおいてTIME_WAITなコネクションを減らす手法としてnet.ipv4.tcp_tw_recycle=1にするテクニックは有名です。
しかし環境によってはSoftBankに限らず問題が起きるため、利用には注意が必要です。

一体どのような問題が起きるのか、詳細に解説されたブログを見つけたので紹介します。

続きを読む

5分あれば出来る、Muninでelasticsearch 1.xのリソース監視を行う方法

JVMで動くelasticsearchを安定運用させるにはリソース監視も欠かせません。
今回は手軽なリソース監視が出来るMuninを用いて、インストール方法から作られるグラフサンプルの紹介まで行います。

利用プラグイン

elasticsearch 1.x系で動くプラグインは現状これ1つのみです。Perlで書かれているため外部依存無しで動きます。

次のプラグインが同封されています。

  • elasticsearch_cache - フィールドとフィルタのキャッシュ状況
  • elasticsearch_cluster_shards - クラスタのシャード状況
  • elasticsearch_docs - 格納されているドキュメントの数
  • elasticsearch_gc_time - GCする際に掛かった時間
  • elasticsearch_index_size - インデックスのサイズ
  • elasticsearch_index_total - インデックスの総数
  • elasticsearch_jvm_memory - JVM ヒープ状況
  • elasticsearch_jvm_pool_size - JVM プールサイズ状況
  • elasticsearch_jvm_threads - JVM スレッド状況
  • elasticsearch_open_files - 開いているファイル数の数
続きを読む

プロキシを使わずにRuby-1.9/2.1混在環境も作れる、Apache2+Passenger4+rbenvを用いた混在環境の作り方

Passenger 3.x で複数のRubyバージョンを使い分けるには、とてもトリッキーな対応が必要でした。
ところがPassenger 4.0.0 より公式に複数のRubyバージョンに対応しました。つまり、同一筐体のApacheで動く他アプリケーションへ影響を与えることなく、気軽にアプリ毎に使うRubyバージョンを変更できるようになります。

続きを読む

MySQLからelasticsearchへ、レコードをネスト構造化しつつ同期出来る fluent-plugin-mysql-replicator v0.4.0 を公開しました

elasticsearchは全文検索サーバとしても知名度を獲得しており、次のような記事も人気を集めています。

MySQLでは実現の難しかったLuceneならではの次のような特徴を兼ね備えたelasticsearchはとても魅力ですよね。

しかしながらelasticsearchを中核となるデータベースとして扱うにはまだ日が浅いことは事実です。
そこで、私と同様にMySQLを補う形でelasticsearchを使いたいという方にとって有用な情報を本日お届けしたいと思います。

続きを読む