Wild Growth 日本語版
http://wild-growth-ja.blogspot.com/
英語版もあるが、ここでは日本語版を紹介させて頂く。現時点で投稿されているトピックは2つ。
- SPIDERストレージエンジン0.12リリース
- 新しいストレージエンジン「Vertical Partitioningストレージエンジン」のリリース
というわけで更新頑張ってください。楽しみにしています!>斯波氏
クエリキャッシュのヒット率はどのように計算すれば良いのでしょうか?ここで改めて説明するために、上の一覧ではクエリキャッシュについては敢えて省略しましたが、クエリキャッシュのヒット率は次の計算式で求めることが可能です。
Qcache_hits / (Qcache_hits + Com_select)
Qcache_hitsは文字通り、クエリキャッシュにヒットして、キャッシュからクライアントへ結果が送信された回数です。キャッシュミスが発生すると、MySQL ServerはSELECT文を実行してテーブルに対してクエリを行い、その際にCom_selectをカウントアップします。つまり、クエリキャッシュが有効になっている場合は、Com_selectがキャッシュミスをした回数を表すのです。SELECTを実行して結果を取得すると、クエリキャッシュへ結果がキャッシュされる場合と、結果セットが大きすぎる理由などによってキャッシュされない場合があります。キャッシュされた場合はQcache_insertsがカウントアップされ、されなかった場合にはQcache_not_cachedがカウントアップされます。従って、次のような関係式が成り立つでしょう。
Com_select ≒ Qcache_inserts + Qcache_not_cached
これを上記の式に代入すると、クエリキャッシュのヒット率は次のように変形することが可能です。
Qcache_hits / (Qcache_hits + Qcache_inserts + Qcache_not_cached)
Com_selectは離れた位置にあるので、Qcache_%だけを見てヒット率が判断できるこの式を用いると便利でしょう。この式ならば「SHOW GLOBAL STATUS LIKE 'Qcache%'」というコマンドでステータス変数を表示するだけで事足ります。
#!/usr/bin/ruby
require 'rubygems'
gem 'twitter'
require 'twitter'
require 'osx/cocoa'
OSX.require_framework 'Skype'
class SkypeMood < OSX::NSObject
def clientApplicationName
return 'Skype Mood From Twitter'
end
addRubyMethod_withType 'skypeAttachResponse:', 'v@:i'
def skypeAttachResponse(status)
return if status != 1
puts 'Successfully connected to Skype!'
end
def isRunning
return OSX::SkypeAPI.isSkypeRunning
end
def setDelegate appname
OSX::SkypeAPI.setSkypeDelegate self
end
def setMood text
OSX::SkypeAPI.sendSkypeCommand "SET PROFILE MOOD_TEXT #{text}"
end
end
class AppController < OSX::NSObject
@DEFAULT_INTERVAL = 60
attr_accessor :sm
def setAuth email, pass
@httpauth = Twitter::HTTPAuth.new(email, pass)
end
def initTimer interval
OSX::NSTimer::scheduledTimerWithTimeInterval_target_selector_userInfo_repeats(checkInterval(interval),self,:timerJob,nil,true)
end
def checkInterval interval
return interval == 0 ? @DEFAULT_INTERVAL : interval
end
def timerJob
return unless @sm.isRunning
timeline = Twitter::Base.new(@httpauth).user_timeline
@sm.setMood timeline[0].text
end
end
def usage
puts "Usage: #{$0} your.name@domain.com password [check interval]"
exit 1
end
usage if ARGV.length < 2
sm = SkypeMood.alloc.init
OSX::SkypeAPI.setSkypeDelegate(sm)
OSX::SkypeAPI.connect
c = AppController.new
c.setAuth ARGV[0].to_s, ARGV[1].to_s
c.initTimer ARGV[2].to_s
c.sm = sm
OSX::NSRunLoop.currentRunLoop.run