キモブロ

Please spy check please, Fucking retard

MySQLのテーブルをENGINE=MEMORYにして再度実行してみる

ENGINEをMEMORYにするとOn Memoryになるっぽい。ただし再起動でデータ消える。
あとENGINEがMEMORYだとTEXT/BLOBが使えないみたいなのでschemaをVARCHARに修正

create table tinyurl(
  id INT(11) NOT NULL AUTO_INCREMENT,
  shorturl VARCHAR(64) NOT NULL,
  url VARCHAR(1024) NOT NULL,
  PRIMARY KEY(id),
  UNIQUE(shorturl)
) ENGINE = MEMORY;

再度前回のベンチマークを実行してみる

>>> mysql insert speed
0.056474 seconds
17707.263519495697 req/sec

>>> mysql update speed
0.062157 seconds
16088.292549511722 req/sec

>>> mysql select speed
0.080872 seconds
12365.21911168266 req/sec

>>> mysql not found select speed
0.077863 seconds
12843.070521300233 req/sec

うひょー。前はinsert/updateが3000req/secだったのに17000req/secぐらいになった。
selectは前と一緒。IOアクセスがボトルネックではない限界に達していたのかぁ。


なんかもうMySQL + memcachedで実装しておいて、IOがボトルネックになったらSSDにすりゃいい感じがする。お手軽だし構成もシンプルなので他の人に引継ぎやすそうだし