printf("time is %f,conn is %f persecond\n",((tv2.tv_sec-tv1.tv_sec)+(tv2.tv_usec-tv1.tv_usec)/1000000.0),conn/((tv2.tv_sec-tv1.tv_sec)+(tv2.tv_usec-tv1.tv_usec)/1000000.0));
return 0;
}
void p_usage(void){
printf("Usage:./mem_benchmark_conn < conn_num >\n");
printf("Notice: the conn_num must <= 10000\n");
return;
}
void *conn_mem(void){
int sock;
char *key = "test_a";
char *value = "this is a";
if((sock=NonbSocket(MEM_SERVER,MEM_PORT)) < 0){
fprintf(stderr,"socket error in line %d\n",__LINE__);
return NULL;
}
int i=0;
while(i++ < 10){
///*
mem_set(sock,key,value);
//*/
/*
char *key2="test_b";
char *value2="this is b";
mem_add(sock,key2,value2);
*/
/*
char buf[101];
mem_get(sock,key,buf);
printf("get value for %s is %s\n",key,buf);
*/
/*
char *key3="test_c";
mem_del(sock,key);
*/
}
close(sock);
return NULL;
}
int mem_set(int sock,const char *key,const char *value){
char set[101];
char recv_buf[101];
sprintf(set,"set %s 0 0 %d\r\n%s\r\n",key,strlen(value),value);
if(write(sock,set,strlen(set)) < 0){
fprintf(stderr,"write error in line %d\n",__LINE__);
return -1;
}
if(read(sock,recv_buf,100) < 0){
fprintf(stderr,"read error in line %d\n",__LINE__);
return -2;
}
printf("in set %s\n",recv_buf);
return 0;
}
int mem_add(int sock,const char *key,const char *value){
char add[101];
char recv_buf[101];
sprintf(add,"add %s 0 0 %d\r\n%s\r\n",key,strlen(value),value);
if(write(sock,add,strlen(add)) < 0){
fprintf(stderr,"write error in line %d\n",__LINE__);
return -1;
}
if(read(sock,recv_buf,100) < 0){
fprintf(stderr,"read error in line %d\n",__LINE__);
return -2;
}
printf("in add %s\n",recv_buf);
return 0;
}
int mem_get(int sock,const char *key,char *value){
char get[101];
char recv_buf[101];
sprintf(get,"get %s\r\n",key);
if(write(sock,get,strlen(get)) < 0){
fprintf(stderr,"write error in line %d\n",__LINE__);
return -1;
}
if(read(sock,recv_buf,100) < 0){
fprintf(stderr,"read error in line %d\n",__LINE__);
return -2;
}
strncpy(value,recv_buf,strlen(recv_buf));
printf("in get %s\n",recv_buf);
return 0;
}
int mem_del(int sock,const char *key){
char del[101];
char recv_buf[101];
sprintf(del,"delete %s 0\r\n",key);
if(write(sock,del,strlen(del)) < 0){
fprintf(stderr,"write error in line %d\n",__LINE__);
return -1;
}
if(read(sock,recv_buf,100) < 0){
fprintf(stderr,"read error in line %d\n",__LINE__);
return -2;
}