#include #include #include #define NUM_CLIENTS 50 /* create table n1 (id int primary key) engine=ndb; insert into n1 values(1); export LD_LIBRARY_PATH=/usr/local/mysql/lib gcc -I/usr/local/mysql/include -L/usr/local/mysql/lib -lpthread -lmysqlclient bench.c time ./a.out */ void* do_process(void* arg){ MYSQL mysql; char *sql = "SELECT id FROM n1 WHERE id = 1"; int i=0; MYSQL_RES *result; unsigned int errno; char *error; int query_res; if ( !mysql_init(&mysql) ) { fprintf(stderr, "mysql_init failed\n"); exit(-1); } if ( !mysql_real_connect(&mysql, "localhost", "root", "", "test", 3306, "/tmp/mysql.sock", 0) ){ fprintf(stderr, "Failed to connect to database: Errno=%d, Error: %s," \ "Connected=%d\n", mysql_errno(&mysql), mysql_error(&mysql), i); goto err2; } for(i=0; i< 2000; i++){ query_res= mysql_query(&mysql, sql); if (query_res != 0) goto err; result = mysql_store_result(&mysql); mysql_free_result(result); } mysql_close(&mysql); return; err: errno = mysql_errno(&mysql); error = (char*)mysql_error(&mysql); fprintf(stderr, "errno = %u, error = %s\n", errno, error); mysql_close(&mysql); err2: return; } int main(int argc, char **argv) { pthread_t tid[NUM_CLIENTS]; int i=0; for (i=0; i