2013年4月24日のブックマーク (4件)

  • MySQL5.6 ALTER TABLE中のtmpdirのファイル

    なんかうれし恥ずかし状態になっているので頑張って調べてます。 もともとの話は、MySQL5.6で巨大テーブルのALTER TABLE中に tmpdirに何かI/Oがあるせいで遅くなってる、という話で、 ⇒MySQLでデータ領域をシステムと別diskにするならtmpdirも設定した方がいい - 酒日記 はてな支店 というか、でも、 During an online DDL operation that copies the table, files are written to the temporary directory. ow.ly/kmDJ1 って書いてあったけど待ちます! — SH2さん (@sh2nd) 2013年4月24日 Σ(゚д゚lll) 結論出てるじゃないですか!? はい、調べます。 1) ALTER TABLEが走るとALGORITHM = INPLACEかどうか、IN

    oranie
    oranie 2013/04/24
    さすがやでぇ
  • MySQLでデータ領域をシステムと別diskにするならtmpdirも設定した方がいい - 酒日記 はてな支店

    某所に300ホスト以上を2年ほど監視していたZabbixのMySQLがありまして、データが100GBぐらいになってメモリ8GBのホストではdisk IOが辛くなってきたので、移行することにしました。普段はそんなにでもないのですが、housekeeperが動作して古いデータを消しに行くとバッファプールに乗っていない部分に読みに行って重いのです。 この際折角なので Intel S3700 (サーバ用のSSD) をおごり、 Zabbix-1.8 から 2.0 にアップグレード MySQL-5.0.77 から MySQL-5.6.11 に変更 システムは HDD で /dev/sda1 データは SSD で /dev/sdb1 を /data にマウント という構成で移行の検証を行っていたところ… MySQLのバージョンが大きく上がるので mysqldump を取得して restore 後、pat

    oranie
    oranie 2013/04/24
  • Redis Sentinelを運用してみたお話 | GMOメディア エンジニアブログ

    こんにちは、宇津井です。 弊社ではゲソてんというゲームプラットフォームを運営しております。ゲソてんではサービスリリース当初から主にキャッシュ的な役割でRedisを導入していました。つい先日の事ですが訳あってRedis 2.6からサポートされたRedis Sentinelを採用しました。今回は、採用に至った経緯をご紹介します。 簡単なシステム構成 パフォーマンスは良いし、Memcachedには無い便利な機能を提供するRedisですが約一年間運用していくつかの問題が出てきました。 Redisサーバーが突然高負荷に陥るするとWebサーバーも高負荷に陥るRedisのReplicationは張ってるけどアプリケーション側でRedis Slaveへフェイルオーバーしない(MySQLを直接参照する)Redis落ちると恐らくMySQLサーバーが耐えられない(落ちた事無いけど)という事で対策を行ってきました

    oranie
    oranie 2013/04/24
  • メモリリークとは何か - kuenishi's blog

    メモリリークに悩まされている技術者は多いだろう。メモリリークが嫌でGCという技術が開発されたといっても過言ではないし、歴史的にはC++からJavaへシフトが起きた大きな理由のひとつといっていい。Unix系の簡単な定義でいえば、ヒープ領域を指すポインタ(アドレス)をロストしてしまえばそのメモリはもう漏れたといってよい。たとえばこういったコードだ。 struct { int i; char c; } spam; int main(){ void* p; int i; for(i=0; i<1024; ++i){ p = malloc(sizeof(struct spam)); } pause(); } このコードではpause(3)の時点で約5KBのメモリが漏れている。free(3)を使えばメモリをOSに返却できるが、アドレスが分からないので返却できない。 ところが、ここでいいたいのは、メモリ

    メモリリークとは何か - kuenishi's blog
    oranie
    oranie 2013/04/24