Skip to content

Instantly share code, notes, and snippets.

Didier Spezia dspezia

Block or report user

Report or block dspezia

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View Test1
fatal error: unexpected signal during runtime execution
[signal 0xb code=0x80 addr=0x0 pc=0x41be2a]
runtime stack:
runtime.throw(0x7586d0, 0x2a)
/data2/ds/local/go/src/runtime/panic.go:527 +0x96
runtime.sigpanic()
/data2/ds/local/go/src/runtime/sigpanic_unix.go:12 +0x5a
runtime.mSpan_Sweep(0x7f9a7c0b8c00, 0xa1900000a00, 0xc01)
/data2/ds/local/go/src/runtime/mgcsweep.go:182 +0x1ba
View GC1
Sun Jun 14 18:23:12 CEST 2015
stkbarPos=0 len(stkbar)=1 goid=1025 gcphase=2
fatal error: g already has stack barriers
runtime stack:
runtime.throw(0x7403d0, 0x1c)
/data2/ds/local/go/src/runtime/panic.go:527 +0x96
runtime.scanstack(0xc209a40840)
/data2/ds/local/go/src/runtime/mgcmark.go:334 +0x4f4
runtime.gcphasework(0xc209a40840)
@dspezia
dspezia / gist:967358
Created May 11, 2011
Patch to fix redis 2.2-jemalloc branch
View gist:967358
From 6094d46541b1fd66c65954b611e8b7e7a6cd7665 Mon Sep 17 00:00:00 2001
From: Didier Spezia <didier.06@gmail.com>
Date: Wed, 11 May 2011 22:53:41 +0200
Subject: [PATCH] Fix makefile for tcmalloc/jemalloc
---
src/Makefile | 27 +++++++++++++--------------
1 files changed, 13 insertions(+), 14 deletions(-)
diff --git a/src/Makefile b/src/Makefile
@dspezia
dspezia / gist:1240452
Created Sep 25, 2011
Compiling Redis against libhugetlbfs to activate huge pages support
View gist:1240452
Redis can be compiled against libhugetlbfs, so huge pages support can be activated with Linux >= 2.6.16.
It should cover Enterprise Linux distros such as SLES 10 or better, and RHEL/Centos/OEL 5 or better.
Be sure to read http://lwn.net/Articles/374424/ first.
Install libhugetlbfs source code in local directory $DIRHUGE
Source can be downloaded from http://libhugetlbfs.sourceforge.net/
Compile only the 64 bits version using make BUILDTYPE=NATIVEONLY
The library will be generated in $DIRHUGE/obj64 - add it in your LD_LIBRARY_PATH
@dspezia
dspezia / gist:1240427
Created Sep 25, 2011
Instrumenting Redis to evaluate the efficiency of COW
View gist:1240427
/*
This function makes use of /proc to evaluate the ratio between shared and private memory blocks.
It is expressed as a percentage: 90 means 90% of the blocks are shared, and 10% have been duplicated.
Call this function at the very end of the child process.
For Redis, it is supposed to be called at the end of rdbSave (file rdb.c)
Ugly but effective.
Please note it does not work if huge pages are used
*/
@dspezia
dspezia / gist:1272254
Created Oct 8, 2011
Benchmark huge pages
View gist:1272254
Host
====
Physical machine
2 * Intel X5670 @ 2.93 GHz, HT activated, 24 threads, cpufreq deactivated
48 GB
OS: SLES10 SP3
Linux ncegcolnx243 2.6.16.60-0.54.5-smp #1 SMP Fri Sep 4 01:28:03 UTC 2009 x86_64 x86_64 x86_64 GNU/Linux
@dspezia
dspezia / gist:1272522
Created Oct 8, 2011
Redis benchmark program for huge pages testing
View gist:1272522
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <time.h>
#include <unistd.h>
#include "hiredis.h"
#define CHECK(X) if ( !X || X->type == REDIS_REPLY_ERROR ) { printf("Error\n"); exit(-1); }
@dspezia
dspezia / gist:1364675
Created Nov 14, 2011
Benchmark Redis 2.4.2 on Xeon 5670
View gist:1364675
Intel(R) Xeon(R) CPU X5670 @ 2.93GHz
Redis 2.4.2, unix domain sockets
numactl -C 2 src/redis-server redis.conf
ncegcolnx243:src> numactl -C 6 ./redis-benchmark -q -n 100000 -s /tmp/redis.sock
PING (inline): 200000.00 requests per second
PING: 201207.23 requests per second
MSET (10 keys): 93283.58 requests per second
SET: 202020.20 requests per second
@dspezia
dspezia / gist:1373801
Created Nov 17, 2011
AWKward script to get Redis keys and values
View gist:1373801
redis-cli keys "*" > keys.txt
cat keys.txt | awk '{ printf "type %s\n", $1 }' | redis-cli > types.txt
paste -d'|' keys.txt types.txt | awk -F\| '
$2 == "string" { printf "echo \"KEY %s %s\"\nget %s\n", $1, $2, $1 }
$2 == "list" || $2 == "set" { printf "echo \"KEY %s %s\"\nsort %s by nosort\n", $1, $2, $1 }
$2 == "hash" { printf "echo \"KEY %s %s\"\nhgetall %s\n", $1, $2, $1 }
$2 == "zset" { printf "echo \"KEY %s %s\"\nzrange %s 0 -1 withscores\n", $1, $2,$1 }
' | redis-cli
@dspezia
dspezia / 1 GigE
Created Nov 22, 2011
Benchmark Redis 2.4.3 comparing various object sizes
View 1 GigE
ncegcolnx243:src> numactl -C 4 redis-benchmark -q -n 100000 -d 100 -h ncegcolnx242
PING (inline): 134048.27 requests per second
PING: 132978.73 requests per second
SET: 131926.12 requests per second
GET: 129701.68 requests per second
INCR: 132275.14 requests per second
LPUSH: 132450.33 requests per second
LPOP: 130039.02 requests per second
SADD: 132978.73 requests per second
SPOP: 132978.73 requests per second
You can’t perform that action at this time.