|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
[2017-07-23 16:21 UTC] spam2 at rhsoft dot net
[2018-10-26 12:40 UTC] pierrie at gmail dot com
[2018-10-26 13:10 UTC] spam2 at rhsoft dot net
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Wed Nov 19 05:00:02 2025 UTC |
Description: ------------ mysqlnd/mysqli scales badly on unix-socket under load that can only be rproduced on fast machines and with http-keep-alive because otherwise the connection overhead mask the issue and which extremely optimized code but originally i have seen the issue on our production cms with exactly the benchmark below - the reproducer just makes it easier beause it's even more lightweight than the core-cms code __________________________________ my.cnf (MariaDB 10.2) max_connections = 300 thread_handling = pool-of-threads thread_pool_idle_timeout = 900 __________________________________ <?php declare(strict_types=1); require __DIR__ . '/php/serverconf.inc.php'; $conn = mysqli_init(); mysqli_options($conn, MYSQLI_OPT_INT_AND_FLOAT_NATIVE, true); if(mysqli_real_connect($conn, 'localhost', $sql_user, $sql_pwd, $sql_db, 3600, '', 0) === true) { echo 'OK'; } else { echo 'FAILED'; } __________________________________ ab -c 250 -n 1000000 -k http://corecms/connect-bench.php __________________________________ [22-Jul-2017 15:57:49 Europe/Vienna] PHP Warning: mysqli_real_connect() [<a href='http://at.php.net/manual/de/function.mysqli-real-connect.php'>function.mysqli-real-connect.php</a>]: (HY000/2002): Resource temporarily unavailable in /mnt/data/www/corecms.rhsoft.net/connect-bench.php on line 5 [22-Jul-2017 15:57:49 Europe/Vienna] PHP Warning: mysqli_real_connect() [<a href='http://at.php.net/manual/de/function.mysqli-real-connect.php'>function.mysqli-real-connect.php</a>]: (HY000/2002): Resource temporarily unavailable in /mnt/data/www/corecms.rhsoft.net/connect-bench.php on line 5 [22-Jul-2017 15:57:50 Europe/Vienna] PHP Warning: mysqli_real_connect() [<a href='http://at.php.net/manual/de/function.mysqli-real-connect.php'>function.mysqli-real-connect.php</a>]: (HY000/2002): Resource temporarily unavailable in /mnt/data/www/corecms.rhsoft.net/connect-bench.php on line 5 __________________________________ MariaDB guys state that this is a client issue (while that is likely true i don't believe in timeouts given the 11696 requests/second) Am 17.07.2017 um 15:02 schrieb Vladislav Vaintroub: > You are getting HY000/2002, the range starting with 2000 (ending iirc 3000) is the error originating on client. If I was to guess it is a client-side connection timeout