Bug #74971 [Com]: (HY000/2002): Resource temporarily unavailable

From: Date: Fri, 26 Oct 2018 12:40:47 +0000
Subject: Bug #74971 [Com]: (HY000/2002): Resource temporarily unavailable
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-217695@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=74971&edit=1 ID: 74971 Comment by: pierrie at gmail dot com Reported by: spam2 at rhsoft dot net Summary: (HY000/2002): Resource temporarily unavailable Status: Open Type: Bug Package: MySQLi related Operating System: Linux PHP Version: 7.0.21 Block user comment: N Private report: N New Comment: I am experiencing the same problem conditions on my server with all custom code, i was using PHP5 before upgrading to PHP7 and on PHP5 i did not have this problem. I have started porting all my PHP MySql connections to PDO is i have tried many suggestions, all to no avail. I believe there is a problem with MySqli on PHP7. It cannot handle high volume of multiple connections. I have +- 300 connections per second with php calls and Mysqli could not handle it, the error log was filled with (HY000/2002): Resource temporarily unavailable. I have a Mysql connection limit of 10000 and according to Mysql stats the highest amount of concurrent connections i have ever had is +-7000, normal load +-600 connections open at any time. Hope this helps someone as i have spend days searching the web with this. Previous Comments: ------------------------------------------------------------------------ [2017-07-23 16:21:23] spam2 at rhsoft dot net see also https://jira.mariadb.org/browse/MDEV-13375 DUNNO on which side the problem exists but as long as a benchmarked CMS responds to additional browser requests where the whole desktop also runs on said machine responds within 0.003 seconds there is no good reason to talk about overloading and failed requests - and 250 concurrent requests are not really much at all ------------------------------------------------------------------------ [2017-07-22 14:10:52] spam2 at rhsoft dot net 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 ------------------------------------------------------------------------ -- Edit this bug report at https://bugs.php.net/bug.php?id=74971&edit=1

« previous php.bugs (#217695) next »