Skip to main content

NodeJS Server hang on caused by limit MySQL connection.

MySQL server hang on. No error log shown.
Check processes see that mysqld use about 30% (of 512MB RAM). CPU idle.
Show full processlist in >mysql show about 11 connection
ie:
+----+------+-----------------+------+---------+------+----------+------
| Id | User | Host            | db   | Command | Time | State    | Info 
+----+------+-----------------+------+---------+------+----------+------
| 87 | root | localhost       | txp1 | Query   |    0 | starting | show 
| 88 | root | localhost:50190 | txp1 | Sleep   |    3 |          | NULL 
| 89 | root | localhost:50192 | txp1 | Sleep   |    3 |          | NULL 
+----+------+-----------------+------+---------+------+----------+------
...

I guest this is the caused by MySQL refuse to run query and/or some query hang on.
Then I try connect half dozen of devices include iPhone, Android, Genymotion, PC ... to figure out how new DB connection made when new client access server.
When a machine (device) connect to server, via web I realize that It only create ONE connection to DB. When a mobile device connect to server, Server create few connection to DB.
When a number of connection reach, in my case default node-mysql is 11 connections, it hang on. No more connection created and server hang on.
So I guest that the limit of mysql-node connection caused server Node hang on.

Then I update config mysql add limit connection:

function db() {
/*
creating MySql database connection 
*/
var con = mysql.createPool({
host : 'localhost',
  user : 'root',
  password : '******',
  database : 'db_one',
  port: 3306,
connectionLimit: 100
});
this.connection=con;
}

Then restart server and problem gone.

Comments

Popular posts from this blog

AWS Elasticache Memcached connection

https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/accessing-elasticache.html#access-from-outside-aws http://hourlyapps.blogspot.com/2010/06/examples-of-memcached-commands.html Access memcached https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/GettingStarted.AuthorizeAccess.html Zip include hidden file https://stackoverflow.com/questions/12493206/zip-including-hidden-files phpmemcachedadmin ~ phpMyAdmin or phpPgAdmin ... telnet mycachecluster.eaogs8.0001.usw2.cache.amazonaws.com 11211 stats items stats cachedump 27 100 https://docs.aws.amazon.com/AmazonElastiCache/latest/mem-ug/VPCs.EC.html https://lzone.de/cheat-sheet/memcached VPC ID Security Group ID (sg-...) Cluster: The identifier for the cluster memcached1 Creation Time: The time (UTC) when the cluster was created January 9, 2019 at 11:47:16 AM UTC+7 Configuration Endpoint: The configuration endpoint of the cluster memcached1.ahgofe.cfg.usw1.cache.amazonaws.com:11211 St...

Simulate Fail2ban on Apache request spam with mod_evasive limitipconn ...

https://en.wikipedia.org/wiki/Manchu_alphabet https://en.wikipedia.org/wiki/Sweet_potato https://en.wikipedia.org/wiki/New_World_crops https://www.mdpi.com/journal/energies http://www.cired.net/publications/cired2007/pdfs/CIRED2007_0342_paper.pdf https://www.davidpashley.com/articles/writing-robust-shell-scripts/ trap command https://en.wikipedia.org/wiki/Race_condition https://unix.stackexchange.com/questions/172541/why-does-exit-1-not-exit-the-script exit 1 not work it seem { } brace bound fixed it. cat access_log | cut -d ' ' -f 1 > ip1 sort -n -t. -k1,1 -k2,2 -k3,3 -k4,4 | uniq -c | sort -n -r -s https://unix.stackexchange.com/questions/246104/unix-count-unique-ip-addresses-sort-them-by-most-frequent-and-also-sort-them https://stackoverflow.com/questions/20164696/how-to-block-spam-and-spam-bots-for-good-with-htaccess  Code: ------------------------------------------------------------------- #Block Spam Bots and Spam on your website #Block proxies...

Rocket.Chat DB schema

_raix_push_notifications avatars.chunks avatars.files instances meteor_accounts_loginServiceConfiguration meteor_oauth_pendingCredentials meteor_oauth_pendingRequestTokens migrations rocketchat__trash rocketchat_cron_history rocketchat_custom_emoji rocketchat_custom_sounds rocketchat_import rocketchat_integration_history rocketchat_integrations rocketchat_livechat_custom_field rocketchat_livechat_department rocketchat_livechat_department_agents rocketchat_livechat_external_message rocketchat_livechat_inquiry rocketchat_livechat_office_hour rocketchat_livechat_page_visited rocketchat_livechat_trigger rocketchat_message rocketchat_oauth_apps rocketchat_oembed_cache rocketchat_permissions rocketchat_raw_imports rocketchat_reports rocketchat_roles rocketchat_room rocketchat_settings rocketchat_smarsh_history rocketchat_statistics rocketchat_subscription rocketchat_uploads system.indexes users usersSessions https://rocket.chat/docs/developer-guides/sc...