linux下ssd电子盘速度检测

代码:

#include<stdio.h>#include<sys/time.h>#include <fcntl.h>#include <pthread.h>unsigned char pbuffer[1024*1024*8];void testssd1(int *ch ){int i=0;int fd;if(*ch==0)fd = open("/ssd1/test.dat", O_RDWR|O_CREAT);if(*ch==1)fd = open("/ssd2/test.dat", O_RDWR|O_CREAT);if(*ch==2)fd = open("/ssd3/test.dat", O_RDWR|O_CREAT);if(*ch==3)fd = open("/ssd4/test.dat", O_RDWR|O_CREAT);if(*ch==4)fd = open("/ssd5/test.dat", O_RDWR|O_CREAT);if(*ch==5)fd = open("/ssd6/test.dat", O_RDWR|O_CREAT);if(*ch==6)fd = open("/ssd7/test.dat", O_RDWR|O_CREAT);if(*ch==7)fd = open("/ssd8/test.dat", O_RDWR|O_CREAT);if(fd<0){printf("%d open error!\n",*ch);return ;}for(i=0;i<32;i++)write(fd,pbuffer,1024*1024*8);close(fd);printf("SSD%d test over!\n",*ch);return ;}int main(){printf("this is SSD Speed test begin!\n\n");pthread_t _id[8];int ret,i,ch[8];struct timeval start;struct timeval end;float speed;for(i=0;i<1024*1024*8;i++)pbuffer[i] = i&0xff;gettimeofday(&start,NULL);for(i=0;i<8;i++){ch[i] = i;ret=pthread_create(_id+i,NULL,(void *)testssd1,ch+i);if(ret!=0){printf("Create pthread error!\n");return -1;}}pthread_join(_id[0],NULL);pthread_join(_id[1],NULL);pthread_join(_id[2],NULL);pthread_join(_id[3],NULL);pthread_join(_id[4],NULL);pthread_join(_id[5],NULL);pthread_join(_id[6],NULL);pthread_join(_id[7],NULL);gettimeofday(&end, NULL);speed = 1.0*(end.tv_sec-start.tv_sec)+(end.tv_usec-start.tv_usec)/1000000.0;printf("ssd write speed:%6.5fMB/S(%6.5fsec)\n",256.0*8/speed,speed);printf("this is SSD Speed test over!\n\n");return 0;}

运行结果:

# ./testthis is SSD Speed test begin!SSD0 test over!SSD4 test over!SSD2 test over!SSD7 test over!SSD3 test over!SSD6 test over!SSD5 test over!SSD1 test over!ssd write speed:1527.20822MB/S(1.34101sec)this is SSD Speed test over!

,但我们好多人没想过,勇敢的冷静的理智的去接受失败,

linux下ssd电子盘速度检测

相关文章:

你感兴趣的文章:

标签云: