aboutsummaryrefslogtreecommitdiff
path: root/src/testcurl/perf_get_concurrent.c
Commit message (Collapse)AuthorAge
* testcurl: Muted some compiler warnings, minor refactoringEvgeny Grin (Karlson2k)2022-10-01
| | | | Used new API for creating of responses to avoid 'const' drops
* Removed "gauger" server usage from the testsuiteEvgeny Grin (Karlson2k)2022-09-30
| | | | | The testsuite should test MHD functionality, not measure performance in some unpredictable conditions.
* Replaced calls of MHD_get_timeout() in tests and examplesEvgeny Grin (Karlson2k)2022-04-28
| | | | | The calls were replaced with the calls of the new functions. Completely removed the usage of MHD_UNSIGNED_LONG_LONG.
* Renamed 'con_cls' -> 'req_cls' for access handler callbackEvgeny Grin (Karlson2k)2022-01-18
| | | | | | | | The argument is actually request-specific, not connection specific. The name was confusing. Fixed related documentation and clarified usage. Also fixed code where argument named 'unused' was actually used.
* -fix tests for libmagic (and uncrustify indentation)Christian Grothoff2021-12-08
|
* curl tests: updated select() error handling, file doxyEvgeny Grin (Karlson2k)2021-08-18
| | | | | | | | Tests reports now about unexpected errors from select() and source code line number to simplify problematic position locating. Used much smaller timeout on W32 if system is doing some sockets data processing in other threads.
* Even more reduced number of test iterations on W32 to avoid ports exhaustEvgeny Grin (Karlson2k)2020-12-23
|
* Fixed conflict with system CPU_COUNT macroEvgeny Grin (Karlson2k)2020-10-25
|
* perf_get_concurrent: reduce number of iteration on W32 as free portsEvgeny Grin (Karlson2k)2020-09-24
| | | | are quickly excused on W32 with large amount of CPU cores
* define and use 'enum MHD_Result'Christian Grothoff2020-04-08
|
* tighten formatting rulesChristian Grothoff2019-10-31
|
* applying uncrustify to ensure uniform indentationChristian Grothoff2019-10-17
|
* perf_get_concurrent11: added new test, fixed "11" mode detectionEvgeny Grin (Karlson2k)2019-05-26
|
* perf_get_concurrent: fixed exhausting of local ports on multi-core machinesEvgeny Grin (Karlson2k)2019-05-26
|
* avoid sprintfChristian Grothoff2018-11-18
|
* Silenced compiler warnings in src/testcurl.Evgeny Grin (Karlson2k)2017-10-30
|
* Make testsuite compatible with W32 againEvgeny Grin (Karlson2k)2017-10-29
|
* Make testsuite parallel build compatible (part 1)Evgeny Grin (Karlson2k)2017-06-16
|
* fix use of 'signal_done' in testChristian Grothoff2017-02-14
|
* better fix for #4884 avoiding the problematic detach and the ERSCH-issueChristian Grothoff2017-02-12
|
* fix #4884Christian Grothoff2017-02-12
|
* Added MHD_USE_AUTO and MHD_USE_AUTO_INTERNAL_THREAD to simplify using of MHD ↵Evgeny Grin (Karlson2k)2016-11-10
| | | | by multi-platform applications
* perf_get_concurrent: fixed tests descriptionsEvgeny Grin (Karlson2k)2016-11-10
|
* Added MHD_USE_ERROR_LOG flag with same value as MHD_USE_DEBUG.Evgeny Grin (Karlson2k)2016-11-08
| | | | New name better explains flag actions.
* Specify that flag MHD_USE_INTERNAL_POLLING_THREAD is mandatory if ↵Evgeny Grin (Karlson2k)2016-11-08
| | | | MHD_USE_THREAD_PER_CONNECTION is used
* Renamed daemon flags:Evgeny Grin (Karlson2k)2016-11-08
| | | | | | MHD_USE_SELECT_INTERNALLY -> MHD_USE_INTERNAL_POLLING_THREAD MHD_USE_POLL_INTERNALLY -> MHD_USE_POLL_INTERNAL_THREAD MHD_USE_EPOLL_INTERNALLY -> MHD_USE_EPOLL_INTERNAL_THREAD
* epoll is now supported on non-Linux platforms (namely illumos).Evgeny Grin (Karlson2k)2016-08-24
| | | | Renamed MHD options and updated documentation.
* another underflow fixChristian Grothoff2016-06-02
|
* perf_get_concurrent: port to systems without fork(), added error checkingEvgeny Grin (Karlson2k)2016-04-23
|
* perf_get_concurrent: correctly detect available modesEvgeny Grin (Karlson2k)2016-04-23
|
* fix #3869: outdated FSF addressChristian Grothoff2015-06-30
|
* fix #3753Christian Grothoff2015-04-15
|
* -bringing copyright tags up to FSF standardChristian Grothoff2015-02-07
|
* Use number of CPUs in tests and examplesEvgeny Grin (Karlson2k)2014-03-06
|
* Remove PlibC wrappers and macrosEvgeny Grin (Karlson2k)2014-02-18
|
* Implement MHD_socket, MHD_INVALID_SOCKETEvgeny Grin (Karlson2k)2014-02-18
|
* -check a few more error codesChristian Grothoff2013-09-09
|
* Adding support for using epoll for the MHD event loopChristian Grothoff2013-07-04
|
* -fix #if WINDOWS problems reported by Luis Garcia on the mailinglistChristian Grothoff2012-10-15
|
* increase timeouts to escape problems with time_waitChristian Grothoff2012-10-08
|
* -introduce MHD_UNSIGNED_LONG_LONG, deprecate MHD_LONG_LONG, check for ↵Christian Grothoff2012-09-28
| | | | invalid options on start, document
* -LRN: no poll on mingw32Christian Grothoff2012-07-09
|
* use 127.0.0.1 instead of localhost for testcurl/*.c;Christian Grothoff2011-09-29
| | | | | | | | | | | | | | | | | | | | | | | | | performs far better on OS X and Solaris-style kernels Will Bryant (<will.bryant@gmail.com>) writes: On 21/09/2011, at 20:14 , Christian Grothoff wrote: > > On the OpenIndiana performance, do you have something like 'strace' where you > > could monitor what's going on? Most likely the code hangs blocking in some > > syscall for longer than it should... It has truss, and for the record, it showed no slow calls. The problem turned out to be the tests using "localhost", which was picking the primary interface for the box, not the loopback interface. Changing perf_get_concurrent.c to use 127.0.0.1 makes it vastly faster - it went from ~35 requests/sec to 12,000-15,000 requests/sec. It makes a big difference on OS X too - from 115-140 requests/sec on my old macbook to 600-3600 requests/sec (variation here mainly due to the large amount of other stuff I have running). Patch attached.
* From: Christian Grothoff2011-09-21
| | | | | | | | | | | | | | | | | | | | | | | | | Will Bryant <will.bryant@gmail.com> To: libmicrohttpd development and user mailinglist <libmicrohttpd@gnu.org> Date: Today 03:01:54 AM Attachments: 0001-use-separate-ports-for-subsequent-tests-in-the-perf-.patch So patch attached to use sequential port number assignments in those two perf test programs - with that and the earlier pipe shutdown patch, OS X passes all tests now. OpenIndiana also passes all the perf tests, leaving just the SIGPIPE matter. Incidentally, performance is terrible there. I would be interested to know why - my OpenIndiana box has a modern Intel Q9505 and gets in the region of 35 requests/s in each perf test, whereas my aging Intel Core 2 Duo macbook gets 600-900 despite having half the cores. Of course we only expect the non-concurrent test to use about 1 of the cores, but both that and the concurrent test actually use only about 1% of a single CPU. This is puzzling as OpenIndiana has the very performant and scalable sunos/solaris-derived kernel and libc, so something odd is definitely going on. Regarding the SIGPIPE, do you think a signal handler should be installed in all test programs, to implement the recommended behavior for applications, or only in those that need it? I am sitting on the fence. I think the argument for the latter would be that one would not normally expect SIGPIPE to occur during tests that do not test out error/abort behavior, but I don't think it would normally be harmful. (I haven't implemented the configure script integration to set the HAVE_LISTEN_SHUTDOWN conditional define for Linux etc. - can you help there? I have, for what it's worth, checked that Linux does also work using the pipe technique instead, so that seems well-portable.) Cheers, Will
* adding perf measurementsChristian Grothoff2011-07-07