Bug #74971 [Com]: (HY000/2002): Resource temporarily unavailable
Edit report at https://bugs.php.net/bug.php?id=74971&edit=1
ID: 74971
Comment by: spam2 at rhsoft dot net
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:
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
Previous Comments:
------------------------------------------------------------------------
[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
Thread (4 messages)