Is there a limit to the amount of connections Logaholic throws at MySQL at one time?

2012-07-25 16:33:33Tags: mysql-active-connections-limit
Hello Support, I am monitoring Logaholic using the MySQL Workbench and have noticed that when opening a profile for a large dataset website, only (5) MySQL connection are made at any one time. I have the max_connection setting in MySQL set to 500, but that doesn't seem to be the magic bullet. Any suggestions as to why I only get (5) connections to MySQL from a dashboard with (7) tiles? From past support tickets I understand that each tile makes it's own MySQL call, so should I not see (7) connections? Thanks! John Ridgway

Answer:

Hi John, I will have to check this in detail, but connections are reused by mysql if I'm not mistaken so you don't nessesarily need to see the same number of connections as there are reports on your dashboard.
I was thinking since I was opening the dashboard "fresh" and ALL tiles are wanting data, that (7) connections should be initiated, but it DOES seem like Logaholic is waiting for one connection to finish b4 another tile makes a connection and starts receiving data. Not sure if this is a MySQL "feature" or a concious decision by Logaholic. Hence my question. John
hmm, this might also have to do with a limit on how many simultaneous ajax requests a browsers is allowed to handle. I will investigate!
Btw, this seemingly (5) connection limit, combined with viewing large dataset profiles, precludes other "users" from using Logaholic (logging in or accessing other profiles) while the LARGE dataset profile is processing ALL tiles requested and keeping the MySQL (5) connections busy.
Ok, I've done some testing on this subject and after making changes to the registry of both the Logaholic server and my workstation to increase the "Http/1.x" connections for ieplore.exe, I still cannot open more than 6 connections (1 from workbench and 5 from Logaholic) at a time, and when I try to open a profile (default dashboard) from two different/discreet computers, the last one to make the request to see the dashboard waits for connections to become available from MySQL before it recieves any data. This still looks like a MySQL issue rather than Http.1.x connection limit per PC or server. Two differerent PCs should make 6 connections each to MySQL (12 connections total), but I only ever see 6 total in workbench. Does this observation make any sense? Thanks! John Ridgway
Your comment just crossed my other answer to this. In the scenario you just wrote, you would indeed expect to see 12 connections. I'm not sure why that is not happening though, but I'm pretty sure it has nothing to do with mysql as that does not have a per user limit by default. Are you testing with 2 phisically different machines?
Yes, I have two "distinct" machines that were making requests at the same time. One machine was receiving results while the other "spun" until MySQL connections were available to fulfill its requests....
I found the answer, maybe... The same place we made changes to "Maximum allowed content length" and "Maximum URL length" now I increased "Maximum query string" from 8096 to 50000 and it allowed more MySQL connections as I was extending the "Total" query sting by making more than 1 request from different machines....YEA!!!! John Ridgway
Ok, I was able to make manual connections to MySQL that took me past the 7 connection mark, so MySQL is accepting more connections, just not from Logaholic!?!?!
Michael, I'm good with MySQL reusing connections, but if I make requests of two different profiles from two different machines, I would think I would see MySQL connections equaling some product of the two distinct searches (7 tiles and 7 tiles > 10 connections?) without much if any "sharing" of MySQL connections? Thoughts? John Ridgway
In addition to latest comment above, I still have the issue of opening a 8 tile report that takes a while to populate because of the larger data sets, and also opening Logaholic on another machine and having to wait just to log in while MySQL waits for one of the (5) connection from the LARGE report to finish, freeing-up a connection. John Ridgway

Answer:

It turns out this has nothing to do with mysql, but has to do with a limit on the number of simultaneous HTTML requests your browser is allowed to execute.

This limit varies from browser to browser and also from version to version but generally it's between 4 and 6.

In firefox you can change this limit like this:

1. Go to "about:config"
2. Find and edit the following
* network.http.pipelining=false
* network.http.pipelining.maxrequests=4
* network.http.proxy.pipeline=false
3. Change the false to true if applicable; Change the maxrequest value to the number you want, like 20

I'm not recommending you do this, but it is possible. You can read more information here: http://kb.mozillazine.org/Network.http.pipelining

 

Please read my latest comment where I detail my edits to Http/1.x connections and the fact that this made no difference....I am currently researching Ajax and MySQL connections.... John Ridgway
Ok, Here is the actual answer to this question. The above info from Michael is also important if the dashboard tile count goes over 6-8 tiles, which can become very common in custom dashboards... The answer to the Logaholic/MySQL limited connections issue seems to be the Logaholic website application pool value of "maximum worker processes" in IIS7.x . I was at the default of (1) and increased this to (5), and lo-and-behold I see 10+ Logaholic connections to MySQL with two data-intense Dashboards processing. This also means that more than one login can be active while large reports are processing. Again, this is a IIS7.x issue as this is the environment I am working in...Also, more than (5) Worker Processes may be needed...Still tweaking... John Ridgway
It seems that (1) worker process = 5 logaholic connections, so I should now have the ability to instantiate (25) MySQL connections...I have so far gotten to (18) without performance issues other than high CPU...For a time... John Ridgway
The information on this page relates to older Logaholic versions (prior to Logaholic 6) and may be outdated.