2014-05-01から1ヶ月間の記事一覧

RabbitMQに これでもか ってくらいデータ入れてみる

はじめに RabbitMQ 3.3.1に限界までデータ入れてみるとどうなるか試してみた。 結論 リミッターが効いて設定値以上はデータを受け付けなくなる。 リミッターを設定する 管理画面にアクセスする。 http://192.168.X.X:15672/Disk space項目の48 MB low waterm…

RabbitMQ 3.3.1の管理者画面にログインできない

はじめに RabbitMQのクラスタリング機能を検証したいなーと思い、 Ubuntu ServerにRabbitMQ 3.3.1をインストールして見ました。インストールは非常に簡単で、 インストールガイド通りに実施すれば難なくできます。 Erlangを別途導入する必要はありますが、Ub…

MRIとRubiniusで排他制御

はじめに Matz's Ruby Interpreter(MRI)とRubiniusで排他制御したマルチスレッドプログラムを実行し、結果を比較します。 実行時間計測、CPUコア使用状況を見ていきます。 MRI排他制御なし MRI排他制御あり Rubinius排他制御なし Rubinius排他制御あり の4つ…

MRIとRubiniusでマルチスレッド

はじめに Matz's Ruby Interpreter(MRI)とRubiniusでマルチスレッドプログラムを実行し、結果を比較します。 実行時間計測、CPUコア使用状況を見ていきます。 複数回実行して、平均を取るなど真面目に検証はしていません。 準備 Rubyのバージョン $ ruby -v …

Rubyでスレッドセーフでないことを簡単に確認したい

RubyのスレッドにはGiant VM lock (GVL) (Global Interpreter lock) が実装されており、同時に実行される ネイティブスレッドは常にひとつです。なので、スレッドセーフでないプログラムを実行しても、排他制御が効いているように見えます。 例えば次のコー…