タグ

2016年11月25日のブックマーク (3件)

  • メモリ最適化 — Redis Documentation (Japanese Translation)

    メモリ最適化¶ このページは作業中です。現在のところ、メモリに関する問題が発生したときにチェックするべき項目のリストにすぎません。 小さな集約データ型のための特別なエンコーディング¶ Redis 2.2 以降、多くのデータ型は、ある一定のサイズ以下であれば、使用する空間が小さくなるように最適化がされています。Hash, List, 整数型からなる Set, および Sorted Set は、既定の上限より要素数が小さく、かつ個々の要素のサイズが上限を超えない場合は、非常にメモリ効率の良い方法でエンコードされます。このエンコーディングにより、メモリ使用量は 最大で 10 分の 1 、平均で 5 分の 1 程度に削減されます。 これは、ユーザーやAPIからは完全に隠蔽されます。また、CPU とメモリのトレードオフとなるため、エンコードを適用する最大要素数や各要素の最大サイズは redis.co

  • RedisのHash型を活用するとメモリ使用量が激減

    ユーザ情報のように ID をキーにした大量のデータを Redis で管理する場合、ひと工夫して Hash 型を使うと、単純に string 型を使った場合に比べてメモリ使用量が激減することを教わったので、追試してみた。 データモデル String 型を使う 各 ID のデータを Redis で管理する場合、素直にやるなら string 型で保存する。 > set object:123456 val123456 OK > get object:123456 "val123456" 非常に原始的なキーとバリューのペア。 Hash 型を使う Redis 2.2 以降では hash が機能改善され、フィールド数が一定数におさまり、フィールドのデータが一定サイズに収まると、メモリ使用量が平均して 1/5 に軽減されている。 Special encoding of small aggregate da

    RedisのHash型を活用するとメモリ使用量が激減
  • PHPのcoredumpを読んでなぜSEGVで落ちたかを知りたい - Qiita

    PHPのcoredumpを読みたいことは一生に1度くらいあるかもしれない。ないほうがよい。 正確にはmod_phpが組み込まれているApache httpdのcoredumpである。 内容はいいからコマンドが知りたい人向け $ gdb /usr/sbin/apache2 --core /var/tmp/core/core.15001 --command /usr/local/src/php-5.5.5/.gdbinit (gdb) set print pretty on (gdb) zbacktrace (gdb) print *executor_globals->active_op_array (gdb) print sapi_globals->request_info

    PHPのcoredumpを読んでなぜSEGVで落ちたかを知りたい - Qiita