So I read the thread about CPU issues where a person asked if this would be fixed in the 7.2 release. The reply was an overwhelming "the problem is not boonex dolphin its with improper servers and hosting".
I would just like to say.... I beg to differ.
mooSocial does not have this CPU usage problem, nor does jcow, socialstrap, phpdolphin, or basically any other social networking script I have tried and I have tried dozens (okay buddypress based on what you add on to it may have large loads also I admit).
My duel core 1.8 Ghz with 8GB ram runs all these scripts and can handle around 10,000 users before I notice performance issues. With dolphin - between 50 and 100 users the performance spikes.
Now I have tested it with apache (very slow), nginx (moderately slow), and lightTPD (still slow but much better) and still it wants to eat up the CPU and this is all with under 100 users (actively logged in).
At first I believed this was a DoS of some sort, but after much monitoring I find its actually not, dolphin just uses that much CPU. I have not found any web based app that uses more cpu than dolphin.
So everyone says its because its a social networking script, but I want a more detailed answer. WHAT exactly is dolphin doing that eats up my cpu vs any of the other social networking scripts? This is with less than half the mods installed.
Now don't go getting your panties in a bunch - cause I can hear the words "well then go use those scripts" coming from someone. I will tell you why I don't. Dolphin offers far more in the ways of customization and 3rd party plugins than any other solution (except buddypress, but ... just.... no...). That is why I want to use dolphin vs the others.
I seriously want to understand why dolphin uses so much cpu power? The other named scripts offer similar functions minus the customization - so why does customization add so much the CPU load?
For the record I found that if I disable sql query cache (from my.ini not the dolphin cache settings) it stopped the problem of database connection errors on my site, and stops the site from crashing all incoming and outgoing connections on my server (thus forcing the need to reboot) . Not sure if anyone else might need such a solution. Iwill warn this makes the server impossibly slow - but still it stays loading vs connection issues or server crashes |
Run some benchmarks and profile the performance. Get some numbers then you will know what needs optimizing. Many times people turn things on/off without realizing what it actually does. Google is your friend. so much to do.... |
You say; however, you don't back up what you say with any sort of data. Let's see the benchmarks. Geeks, making the world a better place |
Here we go again :) There is something not right somewhere ! i'm the only member who uses my site and cpu is high as fck ! sometimes i don't even use it and can see the cpu in cpanel between 50 and 100 .
This is crazy shit ////
By the way i did try several social networks like this guy above and i never seen one of them using this much cpu usage as well !
THe Cpu usage problem in dolphin is dated and reported more than 5 years ago and it never fixed ! Is it due to the way it is coded or what ? God knows
Note : I could be wrong , it could be dolphin needing a proper server configuration , so i'm going to get a dedicated server and take it from there and if all works well , i will report back !
Proud Hosted by Zarconia.net |
I noticed only while video processing its usage go high. Umar Haroon |
Hosting hundreds of dolphin sites I can assure you it's not a dolphin issue... https://dolphin-techs.com - Skype: Dolphin Techs |
I've run Dolphin sites on shared hosting accounts with 3 different companies and one VPS and never had a CPU usage issue. If it was the scrip itself wouldn't everyone have the same problem? BoonEx Certified Host: Zarconia.net - Fully Supported Shared and Dedicated for Dolphin |
Most of the problems are because of small periodic requests which are for the some data updates in realtime. These updates are made even when user isn't browsing the site. These updates are for:
- shoutbox updates - simple messenger conversation - member menu updates (red balloons) - site notification (in top right corner) - forums spy - flash messenger updates - flash chat.
To check it for sure temporarily uninstall the following modules:
- Shoutbox - Simple messenger - Messenger - Chat - Spy
Also try to disable flash Messenger from Admin panel > Modules > Flash apps > Messnger > Disable
The situation becomes much more worse when site isn't optimized, for example php is setup as cgi, for more information of this topic please refer to this doc:
http://www.boonex.com/trac/dolphin/wiki/HostingServerSetupRecommendations
Regarding MySQL - this is setup dependant as well, for the faster performance it's better to enable mysql persistent connections (Dolphin already uses mysql_pconnect), but when you have a lot of users or many sites on the same server, then it maybe become a problem when mysql max_connection is reached (default value is usually too low). So depending on the server configuration you maybe need to rise max_connection setting in MySQL (better) or disable persistent connections in php - set mysql.allow_persistent to 0 in php.ini (a bit slower performance).
Usually all these things are well known by boonex hosting providers and they setup server already optimised for such things, but when you setup the server by yourself - all these things need to be known and properly setup.
You can also check Admin panel > Tools > Host Tools > Audit for the quick overview of some basic things which can cause you website to perform slow or eat too much resources.
Rules → http://www.boonex.com/terms |
I've run Dolphin sites on shared hosting accounts with 3 different companies and one VPS and never had a CPU usage issue. If it was the scrip itself wouldn't everyone have the same problem?
I can assure my dolphin is hosted in arvixe and it run 100% cpu usage ! so don't argue about this and it is a fact .
check this screen shot taken from cpanel hosted by arvixe (shared host )
Proud Hosted by Zarconia.net |
Most of the problems are because of small periodic requests which are for the some data updates in realtime. These updates are made even when user isn't browsing the site. These updates are for:
- shoutbox updates - simple messenger conversation - member menu updates (red balloons) - site notification (in top right corner) - forums spy - flash messenger updates - flash chat.
To check it for sure temporarily uninstall the following modules:
- Shoutbox - Simple messenger - Messenger - Chat - Spy
Also try to disable flash Messenger from Admin panel > Modules > Flash apps > Messnger > Disable
The situation becomes much more worse when site isn't optimized, for example php is setup as cgi, for more information of this topic please refer to this doc:
http://www.boonex.com/trac/dolphin/wiki/HostingServerSetupRecommendations
Regarding MySQL - this is setup dependant as well, for the faster performance it's better to enable mysql persistent connections (Dolphin already uses mysql_pconnect), but when you have a lot of users or many sites on the same server, then it maybe become a problem when mysql max_connection is reached (default value is usually too low). So depending on the server configuration you maybe need to rise max_connection setting in MySQL (better) or disable persistent connections in php - set mysql.allow_persistent to 0 in php.ini (a bit slower performance).
Usually all these things are well known by boonex hosting providers and they setup server already optimised for such things, but when you setup the server by yourself - all these things need to be known and properly setup.
You can also check Admin panel > Tools > Host Tools > Audit for the quick overview of some basic things which can cause you website to perform slow or eat too much resources.
Why someone had to uninstall modules and disable flash to get a better performance ! this doesn't make sense ...
Proud Hosted by Zarconia.net |
It is needed to identify the problem, after the problem is identified and some actions performed - modules can be installed again.
Why someone had to uninstall modules and disable flash to get a better performance ! this doesn't make sense ...
Rules → http://www.boonex.com/terms |
I can assure my dolphin is hosted in arvixe and it run 100% cpu usage ! so don't argue about this and it is a fact .
check this screen shot taken from cpanel hosted by arvixe (shared host )
There are probably 600 other sites hosted on your shared server. Get a real server setup and your problems will go away.
My opinions expressed on this site, in no way represent those of Boonex or Boonex employees. |
Everyone is an expert and professional it seems. They play around with various programming and developement, web servers, etc. for a bit and all of a sudden they know it all. That includes some of the regulars, recommended hosters, etc. you see here in the forums.
Any site with 50-100 logged in users is going to use resources, and depending on what they are doing maybe a lot. Heck my WordPress sites use as much or more than Dolphin does just browsing around.
Everyone plays the blame game, and how they know it all and have been doing this for so many years. Cut the bull shit. Quit complaining and provide some honest details and configuration/setup info and maybe you will get some help.
Otherwise, yeah if you have a configuration that isn't optimized you could be causing more harm than good.
If you have a single dolphin site with 50-100 users (on line at the same time) on the server I don't see how a properly configured dual core serer with 8 gigs of ram couldn't handle it unless they are using some extreme processes like tons of video uploads working the cpu (ffmpeg), or that kind of thing.
Check apache (whatever server.conf), php, other services, control panel, etc. It doesn't take much to fudge one setting up.
Eli: If you are using 80% cpu ask your host what the exact limitations are. If they won't tell you are giving you some tiny number than it may be time to move. DialMe.com - Your One and Only Source For Boonex Dolphin Tutorials and Resources |
Cheers dude will ask them and see what they say ! Proud Hosted by Zarconia.net |
I love when I come back after a few days and have tons of feedback on potential solutions.
First let me make some things clear - I know a TON about server setup. However I don't know a TON about mysql. I avoid the database like the plague - and if you don't understand why I'd suggest researching about hacking mysql with SQLmap (check http://null-byte.wonderhowto.com/how-to/hack-databases-hacking-mysql-online-databases-with-sqlmap-0150368/). MySQL is a nightmare of a database for exploits - and overall it is a resource hog when compared to other databases. In fact SQL as both a database an a language makes for very difficult scalability when compared to other databases (flockdb comes to mind). So yes I admin that I am not a "pro" with sql.
Also let me say for those saying "wordpress is also a resource hog".... I actually made note to that based on what mods are installed (although I mentioned buddypress not wordpress... but they are one in the same)
To assume I have not went over every config option offered and read the entire mysql documentation is a fault of your own. I know how to RTFM. It does suck when options like RLimitCPU don't exist on the windows build of mysql.
I would never enable nor disable any option or even start a server daemon if I didn't know what every configuration option did first.
Saying show us the benchmarks, is not a very useful request considering I could paste tens of thousands of benchmarks. What data from benchmarks would you like?
Would you like to know that at any given moment I have 100+ database connection requests? Would you like to know I am delivering an average of 1100.32 KB/s? Would you like to know the key efficiency is at 100%? Are you interested in the server variable values? Would you like to know that requests are around 8000/s? WHat benchmarks are you looking for?
AlexT provided the best answer to my actual question, but even knowing what modules are causing the spike (or what requests are being made) does't tell me EXACTLY what the scripts ar edoing that elevates the CPU process so high vs other counterpart scripts.
I NEVER blamed the dolphin programmers, or the script for my CPU usage - I asked WHY dolphin is so resource exhausting vs other scripts. of similar design.
Also let it be known I am SELF hosting NOT shared server hosting. I utilize about 15% of my internet bandwidth doing so vs paying for hosting.
I ran a realtime IDS in front of the webserver so I could see exactly what is causing my server to crash.... I am finding it may be related to database corruption (perhaps)?
I keep getting errors such as the following returned:
Max retries exceeded with url: /browse/all/37-39/all (Caused by <class 'socket.error'>: [Errno 10054] An existing connection was forcibly closed by the remote host)
According to mysqlcheck its not database corruption - but thats never a guarantee asit could be the data inside the tables is corrupt, not the tables themselves.
Perhaps someone has some suggestions for me?
I want to stress again I NEVER attacked boonex/dolphin. I never blamed boonex. I simply asked why..... some people are getting a bit defensive of a "why" question. No blame was placed. |
However I don't know a TON about mysql. I avoid the database like the plague
Then you need to learn because scripts like Dolphin access the database a lot and optimising the database is one of the important things to getting a Dolphin site running nice and fast.
Geeks, making the world a better place |
When you uninstalled all those modules which updates data in realtime, did it help ?
One more suggestion is to install Profiler module, it will show some debug information at the bottom of every page for the admin. So if some page takes some long time to open (for example - /browse/all/37-39/all) you can try to open it by yourself under admin account and see what exactly cause the delay.
TIP: you can click on columns to sort it by the time.
NOTE: after Profiler module installation you need to add the following code to the inc/header.inc.php file:
define ('BX_PROFILER', true);
if (BX_PROFILER && !isset($GLOBALS['bx_profiler_start']))
$GLOBALS['bx_profiler_start'] = microtime ();
AlexT provided the best answer to my actual question, but even knowing what modules are causing the spike (or what requests are being made) does't tell me EXACTLY what the scripts ar edoing that elevates the CPU process so high vs other counterpart scripts.
Rules → http://www.boonex.com/terms |
Everyone is an expert and professional it seems. They play around with various programming and developement, web servers, etc. for a bit and all of a sudden they know it all. That includes some of the regulars, recommended hosters, etc. you see here in the forums.
Yeah.... where's DosDawg when you need him?
My opinions expressed on this site, in no way represent those of Boonex or Boonex employees. |