MySQLで重たい動作をする際のtip

MySQLで重たい動作をする際のtip。

とくにMyISAMについて。

MyISAMに関する、たとえばsort_buffer_size(ソートバッファ)だとか、read_buffer_size(リードバッファー)あたりってのは、同時接続数分だけ確保しようとするのでなかなか大きくできない。

でもじつは、SET SESSION構文を使えば、そのセションでのみ値を大きくできる。

途中で書き換えてやることは頭にあったんだけど、それってすべてのスレッドにおいて有効になるって感じで捕らえてて、そんなの変更するのってどのみち意味ないなーってかってに思ってた。

だけどもこれはスレッドごとに固有の値をもたせられるので、MyISAMでは躊躇してた、馬鹿みたいにでかいメモリを割り当てることも可能だろう。

もちろん適切な権限とともにおこなってやることが大事。注意されたし。

WordPressで大きいサイズのファイルをアップロードできない

WordPressでファイルサイズの大きいもの(スキャンされたPDFで、ファイルサイズは8Mぐらい)をアップロードしようとしたらエラーがでた。エラーメッセージは下記

This file is too big. Your php.ini upload_max_filesize is 2000M. 続きを読む WordPressで大きいサイズのファイルをアップロードできない

FreeBSDのgnomeでエラーメッセージが大量に出てくる

FreeBSDのgnomeでエラーメッセージが大量に出てくる。

# tail -f /var/log/Xorg.0.log
(II) Mouse autoprobe: Changing protocol to ImPS/2
(II) Mouse autoprobe: Changing protocol to ExplorerPS/2

#tail -f /var/log/gdm/:0.log

(II) Mouse autoprobe: Changing protocol to ImPS/2
(II) Mouse autoprobe: Changing protocol to ExplorerPS/2

上の二つのエラーメッセージであっという間にvarが埋まった。

/etc/X11/xorg.confを書き換えることでエラーを回避できた。

#       Option      “Protocol” “auto”
Option      “Protocol” “imps/2”

ちなみにbutton 3って書くとエラーで起動しなくなった。

http://pyzarlab.s101.xrea.com/bbs/lab.cgi?mode=allread&pastlog=0001&no=661&page=0&act=past

mysqlのテンポラリテーブルがhddに作られたかメモリですんだのか

Created_tmp_disk_tables 4,996 k ステートメント実行中にサーバがディスク上に自動生成した一時テーブル数。Created_tmp_disk_tables の値が大きい場合は tmp_table_size の値を増やしてディスク上ではなくメモリ上に一時テーブルを構築した方がよいかもしれません
Created_tmp_files 30 k mysqld が生成した一時ファイル数
Created_tmp_tables 6,924 k ステートメント実行中にサーバが自動生成したメモリ上の一時テーブル数

tritonnをFreeBSDに入れる

合計で四種類のtar玉を落としてきて入れる。

入れる順番は

mecab, mecab-ipadic, senna, tritonn

それぞれを展開してディレクトリに入り、configureとかmakeとかしていく。

mecab

./configure --prefix=/usr --with-charset=utf8 && make && sudo make install

mecab-ipadic

./configure --prefix=/usr --with-charset=utf8 && make && sudo make install

senna

./configure --prefix=/usr && make && sudo make install

tritonn

./configure --with-senna --with-mecab && make && sudo make install

mecab-ipadicをmakeしたら最後に、有効化するには/usr/etc/mecabrcの行を書き換えろ、といわれた。

To enable dictionary, rewrite /usr/etc/mecabrc as “dicrc = /usr/lib/mecab/dic/ipadic”

指示通り書き換えておく。

途中でbisonが足りないっていわれたらインストール。

以上。

mysqlでクエリをキャッシュさせたくない。

グローバル変数のほうはデフォルトでオンだと思われます。

mysqlのsqlクエリでキャッシュさせない。どこぞで /* */って中に書くんだとか覚えてたけど違います。SQL_CALC_FOUND_ROWSみたいな仲間。

SELECT SQL_CACHE id, name FROM customer;
SELECT SQL_NO_CACHE id, name FROM customer;

なぜか5.1関連のヘルプはヒットしにくいな。5.0は日本語マニュアルがない&安定版は5.1じゃなくて5.0とかいう認知が、というのが理由か。

http://dev.mysql.com/doc/refman/5.1/ja/query-cache-in-select.html

lzmaという形式を解凍したいon FreeBSD7

lzmaというファイルの解凍をさせたかった。よくわかんないからgtarを入れた

追記:
ちなみに、xzはどうやらlzmaという圧縮形式の後継らしく、
だからインストールパッケージも、
lzmautilsという名前が付いています。

lzmautils-develをインストールすると、
このlzma形式の圧縮、解凍もできます。

上と同様に、

lzmadec ***.tar.lzma > ***.tar
tar xvf ***.tar

などとするとよいでしょう。

http://sanmaya100p.blog111.fc2.com/blog-entry-348.html

vmwareでネットワークアダプタのブリッジがうまくいかない気がした

vmwareで新規にホストをインストールして試してたけど、ゲストOS側でNICが通信にいけない。

今回利用したvmwareは”VMware Infrastructure”ってやつ。

実はこれ以前も使ってて、特に気にせず使えてたと思ってたけど、NICが何枚刺さってるかでブリッジの設定がおかしくなったりするらしい。

特にwebからのログインですべてまかなえるものだと思い込んでいたら、どうやらそうではなくて、virtual network editorっていう付属の別アプリで設定してやる必要があるらしい。前はこのアプリうんこだったイメージがあるけど、いまはちゃんとうごくみたい。

で、今回利用してたホストOS側ではHamachiによる仮想NICがあったためデフォルトでブリッジ先のNICがなくてこまったらしい。あまりにも不思議だからWindowsXP標準のブリッジで目標NICとブリッジしてやったのに動かないでやんの。くそったれ。

はまらないためのメモ。