In my attempt at searching for a better performance level, I have been very busy attempting to understand how to get the best performance out of the server as well as the application. Knowing we had to extensively modify our server configuration in order to accommodate the Dolphin 7.x.x environment, we have started looking at other ways to squeeze performance out of this application.
I started looking at the javascript, reason being, is basically every analytical evaluation tool, complains about javascript. I know that dolphin is rather heavy with javascript, some just randomly tossed into the files.
What I am evaluating and where I am getting my data is from the following resources:
Ok, so yes I am new to all of this, and trust the resources on the internet in regards to javascript and compression. So here is where I start, and this could prove to be elongated. Andrew Boon, this is not an attempt to thwart the application, this is something that needs to be done, and should have been done, and in order for optimal performance, we are looking for resolution to such issues as javascript compression out of the box on future releases.
I have compiled a list of errors or tweaks that need to be looked at on this next release. Most of the issues are simple to fix, missing semicolons, removing implied globals, removing the (eval) instances, changing some directives on syntax. removing variables that are not being used. Just a general clean up of the JavaScript, so we can start to implement a compression agent for the dolphin environment.
I have had to put this PDF file in a zip format, because i was unable to get it to read from FF.
JavaScript Eval by Terabyte Hosting Solutions
Guys, on the jslint site there are multiple options that can be selected, my evaluation was ran from the viewpoint that we need to assess exactly what we are dealing with. Please feel free to run your own evaluation on these files. Understanding this is not a complete list of all of the javascript files that are part of the Dolphin 7.x.x environment. We really need all of the javascript to be looked at. My next adventure is to evaluate the CSS, and see how this can be reduced.
Guys, the other large item that needs to be addressed, is that javascript should not be top-loaded, can we please get this addressed so that our sites are loading optimally.
As you know, there were suggestions provided in regards to server configuration. This same server configuration was never mentioned from the onset. Server configs were working perfectly, safely and securely with Dolphin 6.x.x, so if there were known server config changes that were required, these should have been part of the documentation.
With that being said, Terabyte Hosting Solutions has been making those adjustments, and there has been some improvement in server CPU load, but what we see is that the load switched from CPU to RAM. So now, this can become a problem, as there is no known notation on what RAM requirements we should have for the Dolphin 7.x.x?
On a non-busy (non-productive) site, 2GB of RAM does seem to suffice, but what happens when an account actually does produce some traffic?
AlexT, would be much appreciated if you would look into the syntax errors produced from jslint, and see what can be done to get our javascript files up to the coding convention standards.
Granted, we are not looking for a perfect set of files, but I have compiled 30 pages of syntax errors out of the limited number of javascript files that i have evaluated.
Thanks,
DosDawg
We have tried to implement js gzip + js minifying in Dolphin 7.0.3, but have implemented js gzip only.
Because of the following:
1) js syntax accept code lines ending with semicolon (;) and without it, but minifying scripts require that all lines are ended with semicolon. Dolphin has a lot of js files with both variants - this is a lot of code to change and we postpone it for the future versions.
2) there are already some minified scripts (like jQuery) see more
if you looked at the source code issues that were pointed out from the evaluation, this amounts to poor and lazy coding. Why would you not use one coding convention, so that you are not creating these performance problems? This was not just about the semi-colon (;), its about much more. There are non-declared variables, against convention. There are variables that are used before they are declared, against coding convention, there is syntax that is just incorrect.
Yes it is a lot of work, see more
I would like to request you to consider point 1 for this release only. I can see that it is a lot of work, but if done then it will generate a lot of happy faces. At least to me, high load time is the single biggest problem right now.
For all other businesses: I am currently on a dedicated server. I moved on to this server thinking that I will have a faster performing site. We did a lot of tweaking on the server. There was some improvement in the performance but not to the extent I see more
We will implement this as soon as more critical things will be done.
again, you may not consider this see more
You don't understand basic things about performance and code syntax.
For example, when Apple released OS X Leopard, it had GIGABYTES of unused code, and still they didn't consider the issue critical, and released the OS with great success. see more
sir did you bother to read what was attached in that file. sir that is malformed incorrect javascript syntax. not according to me, according to the conventions of syntax for javascript. i am contributing by providing the results to you so you can have those who lazily coded this application, never verifying their syntax, never testing what they had written, and released it to the public. i have contributed, the attachment will reveal as much.
@Andrew and @AlexT
Correct me if I'm wrong I think the biggest factor with regards to performance is the number of online logged in members at any given time, just for example if there are 100 online members thats equivalent to 100 mysql connection every 5secs is that right?
@DolphinBugFixing: The amount of MySQL connections isn't as critical as the amount of MySQL queries. The XML.php file discussed see more
based on your calculation and my conclusion regarding performance hog it doesn't matter if you have a few hundreds of members what matter most when they logged in or online at any given time. for example :
100,000 members with 10 users online at any given time VERSUS 500 members with 100 users online at any given time.
so basically online users eat more resources like you said "95 queries per second" and now the big question is how do we reduce that 95 queries or what see more
1. How to reduce the amount of queries per page/script access? By optimizing the code. And really, there's no shortcut for that — you really need see more