Re: Using libcurl sending much more HTTP request in parallel

2017-08-17 Thread Jack via curl-library
Yes, I did this,without ca boundle > [...] > > SSL_CTX_load_verify_locations why consume 20ms every time? Openssl read > > /etc/pki/tls/certs/ca-bundle.crt once time, I don't change this file, why > > Openssl not cache this? > > As a workaround, you can set CURLOPT_CAINFO to point to a single > c

Re: Using libcurl sending much more HTTP request in parallel

2017-08-17 Thread Rainer Canavan
[...] > SSL_CTX_load_verify_locations why consume 20ms every time? Openssl read > /etc/pki/tls/certs/ca-bundle.crt once time, I don't change this file, why > Openssl not cache this? As a workaround, you can set CURLOPT_CAINFO to point to a single certificate, (possibly just a dummy certificate) a

Re: Using libcurl sending much more HTTP request in parallel

2017-08-17 Thread Jack via curl-library
Very appreciate for your help. I take this :) --- Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library Etiquette: https://curl.haxx.se/mail/etiquette.html

Re: Using libcurl sending much more HTTP request in parallel

2017-08-17 Thread Daniel Stenberg
On Thu, 17 Aug 2017, Jack wrote: 1. If send more requests simultaneously, this policy will consume much CPU time in one loop. Sure, but not more than necessary. Doing many things at once do consume CPU! If you want to avoid doing many TLS handshakes at once, you should consider starting the

Re: Using libcurl sending much more HTTP request in parallel

2017-08-17 Thread Jack via curl-library
Thanks, so 1. If send more requests simultaneously, this policy will consume much CPU time in one loop. 2. Does we have any plan to re-use SSL "context"? --- Unsubscribe: https://cool.haxx.se/list/listinfo/curl-library Etiquette: ht

Re: Using libcurl sending much more HTTP request in parallel

2017-08-17 Thread Daniel Stenberg
On Wed, 16 Aug 2017, Jack wrote: 1. curl_multi_socket_action, I pass active fd, but libcurl also do others fds, For every call to curl_multi_socket_action(), libcurl will also take care of other transfers that have a timer that has expired. None, one or many transfers. If you call it with

Re: Using libcurl sending much more HTTP request in parallel

2017-08-16 Thread Jack via curl-library
Hi Daniel, I find some something, let me show you. My application using epoll listen fd. if(fd.events & EPOLLOUT) { curl_multi_socket_action(multi, fd, CURL_CSELECT_OUT, &still_running); } I found two issues: 1. curl_multi_socket_action, I pass active fd, but libcurl also do others fds, i

Re: Using libcurl sending much more HTTP request in parallel

2017-08-15 Thread Jack via curl-library
Thanks,I will dig this Daniel Stenberg > On Tue, 15 Aug 2017, Jack wrote: > > > Thanks,I modified my application, but I still have HTTPS performance > issue. > > I send 40 https request at the same time. They all create new connection > and > > connect server. I found CPU burst to 56%, then down

Re: Using libcurl sending much more HTTP request in parallel

2017-08-15 Thread Daniel Stenberg
On Tue, 15 Aug 2017, Jack wrote: Thanks,I modified my application, but I still have HTTPS performance issue. I send 40 https request at the same time. They all create new connection and connect server. I found CPU burst to 56%, then down, this high CPU time duration about 500ms . ... Do yo

Re: Using libcurl sending much more HTTP request in parallel

2017-08-15 Thread Jack via curl-library
Thanks,I modified my application, but I still have HTTPS performance issue. I send 40 https request at the same time. They all create new connection and connect server. I found CPU burst to 56%, then down, this high CPU time duration about 500ms . I found https_connecting, maybe in handshake cause

Re: Using libcurl sending much more HTTP request in parallel

2017-08-14 Thread Daniel Stenberg
On Fri, 11 Aug 2017, Jack wrote: I have another question,for high performance,can i firstly create many easy handles,then use them,such as memory poll,this will avoid to create and destroy frequently? Sure! -- / daniel.haxx.se

Re: Using libcurl sending much more HTTP request in parallel

2017-08-11 Thread Jack via curl-library
Thanks for your response,i will retry this. I have another question,for high performance,can i firstly create many easy handles,then use them,such as memory poll,this will avoid to create and destroy frequently? Does this make sense?if make sense,which API can do this for multi interface? thanks! -

Re: Using libcurl sending much more HTTP request in parallel

2017-08-11 Thread Daniel Stenberg
On Thu, 10 Aug 2017, Jack wrote: Unconditionally returning every 10 milliseconds like this will make you spend a lot of CPU in vein. Don't do that. [Fan] Maybe this is not root cause, because when no http request send, CPU almost 0.1%. Sure, but doing like that unconditionally is usually

Re: Using libcurl sending much more HTTP request in parallel

2017-08-10 Thread Jack via curl-library
> > ok, please ignore this,could you comment for this or my previous review two mails thanks Stenberg wrote: > On Wed, 9 Aug 2017, fan fan via curl-library wrote: > >In my application, I using libcurl to send 40 HTTP requests in every >> one second. As I test, this consume much CPU, my appli

Re: Using libcurl sending much more HTTP request in parallel

2017-08-10 Thread Daniel Stenberg
On Thu, 10 Aug 2017, Jack wrote: For hiperfifo.c test, I do perf record, htest process is test process. complete data, please see attachment! some data below, could you give any optimize advice? Sorry, but I don't know what you expect me/us to do with that data. If you have specific question

Re: Using libcurl sending much more HTTP request in parallel

2017-08-09 Thread Jack via curl-library
By the way I use hiperfifo.c to send HTTPS 40 requests at the same time in https://curl.haxx.se/libcurl/c/hiperfifo.html CPU sometimes burst to 69% or 80%, quickly down to 25% then to 0.0% Code below: static void fifo_cb(int fd, short event, void *arg) { char s[1024]; long int rv=0; int n=

Re: Using libcurl sending much more HTTP request in parallel

2017-08-09 Thread Jack via curl-library
On Thu, Aug 10, 2017 at 6:33 AM, Daniel Stenberg wrote: > On Wed, 9 Aug 2017, fan fan via curl-library wrote: > >In my application, I using libcurl to send 40 HTTP requests in every >> one second. As I test, this consume much CPU, my application such as: >> >> main thread for sending request

Re: Using libcurl sending much more HTTP request in parallel

2017-08-09 Thread Daniel Stenberg
On Wed, 9 Aug 2017, fan fan via curl-library wrote: In my application, I using libcurl to send 40 HTTP requests in every one second. As I test, this consume much CPU, my application such as: main thread for sending request and using epoll listen fds whether read or write. while(running

Using libcurl sending much more HTTP request in parallel

2017-08-09 Thread fan fan via curl-library
Hi all, This is my fist post to this list, so I want to use this opportunity to thanks all of you (mainly Daniel) for the development, maintenance and support efforts you invest on this amazing tool "cUrl". In my application, I using libcurl to send 40 HTTP requests in every one second. As I