diff options
| author | pengxuanzheng <[email protected]> | 2020-09-21 19:19:18 +0800 |
|---|---|---|
| committer | pengxuanzheng <[email protected]> | 2020-09-21 19:19:18 +0800 |
| commit | eb41917cb28d1ec887e3502ed30324f88a183bcc (patch) | |
| tree | bc0cf445e27107abac06ff653b2f2e767efd8405 /example | |
| parent | a00d892928a9ca350e4388e09323fa799bd8fded (diff) | |
修改并增加新接口
Diffstat (limited to 'example')
| -rw-r--r-- | example/data/100k.data | bin | 0 -> 102400 bytes | |||
| -rw-r--r-- | example/data/10k.data | bin | 0 -> 10240 bytes | |||
| -rw-r--r-- | example/data/1M.data | bin | 0 -> 1048576 bytes | |||
| -rw-r--r-- | example/data/1k.data | bin | 0 -> 1024 bytes | |||
| -rw-r--r-- | example/data/2M.data | bin | 0 -> 2097152 bytes | |||
| -rw-r--r-- | example/data/3M.data | bin | 0 -> 3145728 bytes | |||
| -rw-r--r-- | example/data/4M.data | bin | 0 -> 4194304 bytes | |||
| -rwxr-xr-x | example/data/test_size.sh | 15 | ||||
| -rwxr-xr-x | example/singleThread | bin | 0 -> 17088 bytes | |||
| -rw-r--r-- | example/single_thread.cpp | 130 | ||||
| -rw-r--r-- | example/single_thread.cpp_old | 115 | ||||
| -rwxr-xr-x | example/test_size.sh | 15 | ||||
| -rwxr-xr-x | example/test_times.sh | 15 |
13 files changed, 278 insertions, 12 deletions
diff --git a/example/data/100k.data b/example/data/100k.data Binary files differnew file mode 100644 index 00000000..da1dfb90 --- /dev/null +++ b/example/data/100k.data diff --git a/example/data/10k.data b/example/data/10k.data Binary files differnew file mode 100644 index 00000000..9df64990 --- /dev/null +++ b/example/data/10k.data diff --git a/example/data/1M.data b/example/data/1M.data Binary files differnew file mode 100644 index 00000000..9e0f96a2 --- /dev/null +++ b/example/data/1M.data diff --git a/example/data/1k.data b/example/data/1k.data Binary files differnew file mode 100644 index 00000000..06d74050 --- /dev/null +++ b/example/data/1k.data diff --git a/example/data/2M.data b/example/data/2M.data Binary files differnew file mode 100644 index 00000000..3301331b --- /dev/null +++ b/example/data/2M.data diff --git a/example/data/3M.data b/example/data/3M.data Binary files differnew file mode 100644 index 00000000..b7f1f882 --- /dev/null +++ b/example/data/3M.data diff --git a/example/data/4M.data b/example/data/4M.data Binary files differnew file mode 100644 index 00000000..98fc2c0b --- /dev/null +++ b/example/data/4M.data diff --git a/example/data/test_size.sh b/example/data/test_size.sh new file mode 100755 index 00000000..7dd3b3d1 --- /dev/null +++ b/example/data/test_size.sh @@ -0,0 +1,15 @@ +######################################################################### +# File Name: test_times.sh +# Author: pxz +# Created Time: Mon 21 Sep 2020 04:43:35 PM CST +######################################################################### +#!/bin/bash +test_size=("1k" "10k" "100k" "1M" "2M" "3M" "4M") +num=0 + +while((${num} < 7)) +do + ./singleThread mybucket ${test_size[$num]}.data 1000 + let "num++" +done + diff --git a/example/singleThread b/example/singleThread Binary files differnew file mode 100755 index 00000000..bf348577 --- /dev/null +++ b/example/singleThread diff --git a/example/single_thread.cpp b/example/single_thread.cpp index fe584e2f..16966999 100644 --- a/example/single_thread.cpp +++ b/example/single_thread.cpp @@ -3,34 +3,140 @@ > Author: pxz > Created Time: Fri 11 Sep 2020 09:52:05 AM CST ************************************************************************/ +extern "C" +{ #include<stdio.h> +#include<stdlib.h> #include<unistd.h> +#include<string.h> +#include<time.h> +} #include"../src/hos_client.h" +//#define test_times 10000 + +#define debuginfo (void) + +static size_t calc_time(struct timespec start, struct timespec end) +{ + return (end.tv_sec * 1000 * 1000 * 1000 + end.tv_nsec - + (start.tv_sec * 1000 * 1000 * 1000 + start.tv_nsec)); +} + +int file_to_buffer(const char *file, char *buffer, size_t *len) +{ + FILE *fp = fopen(file, "r"); + int num = 0; + *len = 0; + if (fp == NULL) + { + debuginfo("fopen file failed:%s\n", file); + return -1; + } + do{ + num = fread(&buffer[*len], 1, 4096, fp); + if (num < 0) + { + return -1; + } + *len += num; + }while(num == 4096); + fclose(fp); + return 0; +} + +void callback(bool result, const char *error, void *userdata) +{ + //debuginfo("result : %s\n", result ? "true":"false"); + if (result) + return ; + //debuginfo("error: %s\n", error); + //debuginfo("userdata:%s\n", (char *)userdata); + hos_close_fd(*(int *)userdata, 0); + return ; +} + int main(int argc, char *argv[]) { + if (argc != 4) + { + debuginfo("usege: singThread [bucket name] [object name]\n"); + return -1; + } + struct timespec start, end; + size_t time; + int i = 0; char *bucket = argv[1]; - printf("hos_client_init start ...\n"); - hos_client_handle handle = hos_client_init("http://192.168.44.12:9098/hos", "default", "default"); + char *object = argv[2]; + int test_times = atoi(argv[3]); + //int test_times = 10000; + //char *buf = (char *)malloc(1024 * 1024 * 4); + char buf[1024 * 1024 * 4]; + size_t buf_size; + + file_to_buffer(object, buf, &buf_size); + + debuginfo("hos_client_init start ...\n"); + hos_client_handle handle = hos_client_create("http://192.168.44.12:9098/hos/", "default", "default", 4); if (handle == NULL) { - printf("error:hos_client_handle\n"); + debuginfo("error:hos_client_handle\n"); return -1; } - printf("hos_client_init success ..."); + debuginfo("hos_client_init success ... \n"); - printf("hos_create_bucket start ... \n"); - if(!hos_create_bucket(handle, bucket)) + debuginfo("hos_create_bucket start ... \n"); + if(hos_create_bucket(handle, bucket)) { - printf("hos_create_bucket failed ... \n"); + debuginfo("hos_create_bucket failed ... \n"); + return -1; } - printf("hos_create_bucket success ... \n"); + debuginfo("hos_create_bucket success ... \n"); - printf("hos_upload_async start ...\n"); - hos_upload_async(handle, bucket, "my-file.txt"); + debuginfo("hos_verify_bucket start ... \n"); + if(!hos_verify_bucket(handle, bucket)) + { + debuginfo("hos_verify_bucket failed ... \n"); + return -1; + } + debuginfo("hos_verify_bucket success ... \n"); - //sleep(30); - hos_client_close(handle); +#if 1 + int mode = FILE_MODE; + size_t fd = 0; + fd = hos_open_fd(handle, bucket, object, callback, (void *)&fd, 0, mode); + debuginfo("hos_upload_file start ...\n"); + clock_gettime(CLOCK_MONOTONIC, &start); + for (i = 0; i < test_times; i++) + { + hos_write(fd, object, 0, 0); + } + clock_gettime(CLOCK_MONOTONIC, &end); + time = calc_time(start, end); + time /= test_times; + printf("hos_upload_file spent %llu ns\n", time); + debuginfo("hos_upload_file end ...\n"); +#else + + int mode = BUFF_MODE; + size_t fd = 0; + fd = hos_open_fd(handle, bucket, object, callback, (void *)&fd, 0, mode); + debuginfo("hos_upload_buf start ...\n"); + clock_gettime(CLOCK_MONOTONIC, &start); + for (i = 0; i < test_times; i++) + { + hos_write(fd, buf, buf_size, 0); + } + clock_gettime(CLOCK_MONOTONIC, &end); + time = calc_time(start, end); + time /= test_times; + printf("hos_upload_buf spent %llu ns\n", time); + debuginfo("hos_upload_buf end ...\n"); + +#endif + debuginfo("hos_client_close start ...\n"); + hos_client_destory(handle); + debuginfo("hos_client_close end ...\n"); return 0; } diff --git a/example/single_thread.cpp_old b/example/single_thread.cpp_old new file mode 100644 index 00000000..c11f6dcd --- /dev/null +++ b/example/single_thread.cpp_old @@ -0,0 +1,115 @@ +/************************************************************************* + > File Name: single_thread.cpp + > Author: pxz + > Created Time: Fri 11 Sep 2020 09:52:05 AM CST + ************************************************************************/ +extern "C" +{ +#include<stdio.h> +#include<unistd.h> +#include<string.h> +#include<time.h> +} +#include"../src/hos_client.h" + +#define MAX_TEST_TIMES 10 + +static size_t calc_time(struct timespec start, struct timespec end) +{ + return (end.tv_sec * 1000 * 1000 * 1000 + end.tv_nsec - + (start.tv_sec * 1000 * 1000 * 1000 + start.tv_nsec)); +} + +void callback(bool result, const char *error, void *userdata) +{ + //printf("result : %s\n", result ? "true":"false"); + if (result) + return ; + //printf("error: %s\n", error); + //printf("userdata:%s\n", (char *)userdata); + return ; +} + +int main(int argc, char *argv[]) +{ + if (argc != 3) + { + printf("usege: singThread [bucket name] [object name]\n"); + return -1; + } + struct timespec start, end; + size_t time; + int i = 0; + char *bucket = argv[1]; + char *object = argv[2]; + printf("hos_client_init start ...\n"); + hos_client_handle handle = hos_client_create("http://192.168.44.12:9098/hos/", "default", "default", 4); + if (handle == NULL) + { + printf("error:hos_client_handle\n"); + return -1; + } + printf("hos_client_init success ... \n"); + + printf("hos_create_bucket start ... \n"); + if(hos_create_bucket(handle, bucket)) + { + printf("hos_create_bucket failed ... \n"); + return -1; + } + printf("hos_create_bucket success ... \n"); + + printf("hos_verify_bucket start ... \n"); + if(!hos_verify_bucket(handle, bucket)) + { + printf("hos_verify_bucket failed ... \n"); + return -1; + } + printf("hos_verify_bucket success ... \n"); + + printf("hos_upload_file start ...\n"); +#if 1 + clock_gettime(CLOCK_MONOTONIC, &start); + for (i = 0; i < MAX_TEST_TIMES; i++) + { + hos_upload_file(handle, bucket, object, callback, (void *)"this is userdata", 0); + } + clock_gettime(CLOCK_MONOTONIC, &end); + time = calc_time(start, end); + time /= MAX_TEST_TIMES; + printf("hos_upload_file spent %llu ns\n", time); +#if 0 + for (i = 0; i < MAX_TEST_TIMES; i++) + { + hos_close_fd(i, 0); + } +#endif + printf("hos_upload_file end ...\n"); +#else + + const char *buf = "this is hos_upload_buf\n"; + size_t buf_len = strlen(buf); + printf("hos_upload_buf start ...\n"); + clock_gettime(CLOCK_MONOTONIC, &start); + for (i = 1; i <= MAX_TEST_TIMES; i++) + { + hos_upload_buf(handle, bucket, object, buf, buf_len, callback, (void *)"this is userdata", 0); + } + clock_gettime(CLOCK_MONOTONIC, &end); + time = calc_time(start, end); + time /= MAX_TEST_TIMES; + printf("hos_upload_buf spent %llu ns\n", time); + + for (i = 1; i <= MAX_TEST_TIMES; i++) + { + hos_close_fd(i, 0); + } + printf("hos_upload_buf end ...\n"); + +#endif + printf("hos_client_close start ...\n"); + hos_client_destory(handle); + printf("hos_client_close end ...\n"); + + return 0; +} diff --git a/example/test_size.sh b/example/test_size.sh new file mode 100755 index 00000000..dc11d9a0 --- /dev/null +++ b/example/test_size.sh @@ -0,0 +1,15 @@ +######################################################################### +# File Name: test_times.sh +# Author: pxz +# Created Time: Mon 21 Sep 2020 04:43:35 PM CST +######################################################################### +#!/bin/bash +test_size=("1k" "10k" "100k" "1M" "2M" "3M" "4M") +num=0 + +while((${num} < 7)) +do + ./singleThread mybucket ./data//${test_size[$num]}.data 1000 + let "num++" +done + diff --git a/example/test_times.sh b/example/test_times.sh new file mode 100755 index 00000000..cc74136f --- /dev/null +++ b/example/test_times.sh @@ -0,0 +1,15 @@ +######################################################################### +# File Name: test_times.sh +# Author: pxz +# Created Time: Mon 21 Sep 2020 04:43:35 PM CST +######################################################################### +#!/bin/bash +test_times=(1, 10, 100, 1000, 10000) +num=0 + +while((${num} < 5)) +do + ./singleThread mybucket my-file.txt ${test_times[$num]} + let "num++" +done + |
