Skip to content

Commit 8606de6

Browse files
committed
Add post benchmarking
1 parent c4a503a commit 8606de6

File tree

1 file changed

+19
-5
lines changed

1 file changed

+19
-5
lines changed

examples/http_load_test.c

Lines changed: 19 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,8 @@ const int SSL = 1;
88
#include <string.h>
99

1010
char request_template[] = "GET / HTTP/1.1\r\nHost: localhost:3000\r\nUser-Agent: curl/7.68.0\r\nAccept: */*\r\n\r\n";
11+
char request_template_post[] = "POST / HTTP/1.1\r\nHost: localhost:3000\r\nUser-Agent: curl/7.68.0\r\nAccept: */*\r\nContent-Length: 10\r\n\r\n{\"key\":13}";
12+
1113
char *request;
1214
int request_size;
1315
char *host;
@@ -16,6 +18,7 @@ int connections;
1618

1719
int responses;
1820
int pipeline = 1;
21+
int is_post = 0;
1922

2023
struct http_socket {
2124
/* How far we have streamed our request */
@@ -114,21 +117,32 @@ struct us_socket_t *on_http_socket_connect_error(struct us_socket_t *s, int code
114117
int main(int argc, char **argv) {
115118

116119
/* Parse host and port */
117-
if (argc != 5 && argc != 4) {
118-
printf("Usage: connections host port [pipeline factor] \n");
120+
if (argc != 5 && argc != 4 && argc != 6) {
121+
printf("Usage: connections host port [pipeline factor] [with body]\n");
119122
return 0;
120123
}
121124

122-
if (argc == 5) {
125+
if (argc >= 5) {
123126
pipeline = atoi(argv[4]);
124127
printf("Using pipeline factor of %d\n", pipeline);
125128
}
129+
130+
const char *selected_request = request_template;
131+
int selected_request_size = sizeof(request_template) - 1;
132+
133+
if (argc >= 6) {
134+
is_post = atoi(argv[5]);
135+
printf("Using post with body\n");
136+
137+
selected_request = request_template_post;
138+
selected_request_size = sizeof(request_template_post) - 1;
139+
}
126140
/* Pipeline to 16 */
127-
request_size = pipeline * (sizeof(request_template) - 1);
141+
request_size = pipeline * selected_request_size;
128142
printf("request size %d\n", request_size);
129143
request = malloc(request_size);
130144
for (int i = 0; i < pipeline; i++) {
131-
memcpy(request + i * (sizeof(request_template) - 1), request_template, sizeof(request_template) - 1);
145+
memcpy(request + i * selected_request_size, selected_request, selected_request_size);
132146
}
133147

134148
port = atoi(argv[3]);

0 commit comments

Comments
 (0)