By Steve on Tuesday, 30 September 2014
Posted in General Issues
Replies 13
Likes 0
Views 819
Votes 0
Hello everybody,

May i ask You a question? Is the ES response time is OK with You?
My Dashboard is loading up in about 2+s without k2 in arround 1.50s
It's driving me nuts. I did so many tests and research with a lot of server side configuration and even on different servers, but with no luck. What is Your response time?

My research:
Freshly new install ES 1.36 on fresh joomla 3.3.4 with everything stock on protostar template.
Response time arround 760ms pic

Enabled ES Log in module and logged in
Response time arround 950ms pic

Enabling Online users module
Response time no change

Enabling ES Menu module
Response time - no big change

1 stream item
Response time arround 1s pic

10 strem items
Response time arround 1.20s pic

Created a group, one album and enabled some apps + post few more stream items
Response time arround 1.30s pic

Assigned a few badges to test user
Response time arround 1.50s pic

Then i installed a k2 module which incrased the response up to2+s. K2 is must have app and very powerful is there any way to get it friendly with ES?

At the end, without k2 plugins enabled, we get a 1.5s of response time to load a page with one user and few stream items.
This is really bad indicator to get a few items from DB.
For example if i will launch a community with response time up to 2s, most of users will just not use it.
What's the point to use such a laggy site.

Maybe its time to optimize sql queries, DB or implement some javascript, change the code to get content load faster? For example, if we move trough Me & friends and Everyone, content loads up blazing fast, it's maybe preloaded before i don't know i just can guess because I not a programmer.

Maybe there is some apache modules, caches, or other tools to optimize this issue?
Maybe someone can share own experience in this case to optimize response time?
ES is a really powerful platform with tons of features, but it needs to be optimized to respond faster.

I just want to know other people opinion in this case.
I supported and i will support ES community for it's great features, only together we can make it better.

Thanks for reading.

Regards,
Steve
Ken
·
Tuesday, 30 September 2014 07:21
·
0 Likes
·
0 Votes
·
0 Comments
·
Also, you may enable cache (browser) using jotcache, memcache and APC. i would also suggest you use lean LEMP stack with CDN. My site loads below 4 seconds with a lot of users in it using those. By the way, I haven't even moved it on a production server where there are separate memcache and MariaDB.
Ken
·
Tuesday, 30 September 2014 07:24
·
0 Likes
·
0 Votes
·
0 Comments
·
Steve, EasySocial is very heavy software. All the features we begged for mean more processing power is needed. I have seen complaints from colleagues similar to yours. I agree with Ken about moving to a LEMP stack (Linux, nginx, MySQL and PHP). Note that Apache is not there. Apache is a very inefficient webserver.

Here is my ES site with a response time of 0.80s in Pagespeed Insights: https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fmiraargentina.com%2Fcomunidad. Note that it is loaded over https which slows things down and does not allow Google Pagespeed Module to run. Run my homepage through the same tool to see how incredibly optimized you can get a Joomla site when in the right environment: https://developers.google.com/speed/pagespeed/insights/?url=miraargentina.com

I do not use K2. Much prefer JReviews. The cost is well worth it, but even JReviews will add a couple tenths to your response times due to its sheer power and complexity.
·
Tuesday, 30 September 2014 10:31
·
0 Likes
·
0 Votes
·
0 Comments
·
Ken and Steven, really appreciate for Your suggestions.
I will try to start with nginx and post some results with improvements here later.
·
Tuesday, 30 September 2014 16:26
·
0 Likes
·
0 Votes
·
0 Comments
·
Steve, there aren't any hosts out there that offer managed nginx hosting. However, with a few hours of learning (that is, if you don't already get around with SFTP, SSH and command line) you can set up a very lean setup with a LAMP stack with nginx running as a front-end proxy for Apache. You can do this easily on DigitalOcean or Amazon EC2 using ServerPilot.io as a control panel. Then it's a quick configuration file change to go 100% nginx. The nice thing about the EC2 + ServerPilot setup is that it is a very lean installation. No FTP, no email, no phpMyAdmin, no cPanel. ServerPilot has good docs about setting everything up.
·
Tuesday, 30 September 2014 19:39
·
0 Likes
·
0 Votes
·
0 Comments
·
I recommend Nginx, MariaDB, PHP-FPM5, APC or Zend OpCache (depending on whether you are on PHP 5.4 or 5.5), NGX_Pagespeed (For combining files, compressing images, minifying files etc.)

That combined with an optimized My.cnf , http://www.conf and php.ini.

Personally I haven't had the best luck with Memcached, but that is just me. Test what works for you.
·
Tuesday, 30 September 2014 20:56
·
0 Likes
·
0 Votes
·
0 Comments
·
Hey guys,

The issue here seems to be mostly related to the K2 - System plugin. I am not really sure what it actually does but if it's trying to manipulate the contents of the page, this is going to cause massive hiccups. This is the same for the following plugins (That I am aware of):

1. System - jQuery Easy
2. System - JFBConnect (I have already spoken with Alex, and he agrees that there's a better way to handle this. I believe he's working on a new version to address this hiccups).
3. System - K2

If you guys are going to use any of the plugins above, do expect that your load time increases as the page size increases. The more modules you add (more html codes), the heavier it gets.
·
Wednesday, 01 October 2014 02:55
·
0 Likes
·
0 Votes
·
0 Comments
·
Mark, you are correct about JFBC. It does add a few tenths to response time. Alex has been improving it and it is getting better and better.

The more stuff you add to a site, the more power/optimization you need to deliver it effectively. I have moved to a strategy of consolidating things on dedicated pages.
-A dedicated login page (EasySocial)
-A dedicated search page
-A dedicated blog page (blog posts not present on every page via module - unless your site is blog-dependent)
-Keep the homepage and other pages with only the modules that are really necessary.

Everyone needs to remember that a module loads at least one CSS and one JS file, and sometimes quite a few files, and each module published is just heaping on more scripts, stylesheets and DB queries. So even though we have all this cool stuff at our disposal, it's important to remember that our sites need to be lean and focused. Too much info means too many files loaded and probably too much stuff for the average user to digest, anyway. I think it's important to determine what the primary goal of the site is and focus on that, and leave all the other components on their own pages, accessible through menu items. Joomla has so many cool tools it's easy to turn sites into "Jack of all trades, master of none".

Here is an example of a fully dysfunctional homepage:

-EasySocial Module
-EasyBlog Module
-EasyDiscuss Module
-SC (JFBC) Login Module
-3rd-party search module (AJAX Live, RokAjaxSearch, etc...)
-K2/JReviews module(s) showing various categories/articles and/or ratings
-Slideshow gallery module (RokSprocket, RokGallery, etc...)

Sure, you might have the "coolest" homepage out there, but do you users really "get it"? Is the stress on the server and resulting slow pages worth it? Do your users really need to know about and access all that stuff from a single page?

And here is the worst culprit of all: SEO plugins. They destroy all the hard work devs put in to optimizing DB queries. If a component you are using needs a 3rd-party SEF plugin to be presentable, then you are using the wrong component. Find one that does things right, even if you have to pay for it.

[EDIT] Forgot to mention templates! Some can load dozens of JS and CSS files! And some also have framework plugins that are extremely poorly coded and can be a big strain on your response times! [/EDIT]
·
Wednesday, 01 October 2014 05:46
·
0 Likes
·
0 Votes
·
0 Comments
·
Thanks for sharing this Steven, finally someone who doesn't just point fingers on EasySocial Appreciate it very much! I have been trying to explain this to many of our customers that the delays are actually a domino effect because of a larger page size (Due to HTML5 tags).
·
Wednesday, 01 October 2014 10:53
·
0 Likes
·
0 Votes
·
0 Comments
·
Guys, thank You so much for Your suggestions. I have optimezed my community to load in about 800ms with only APC! Will post some results later when i will launch site for public.
Also i have found a BUG, that gives extra 200+ms to load time and its joomla language, when i change to the other language it ads a +200ms to respone time, don't know why. I did not a research on this. Maybe it affects only me, so You may check yourself.

Regards,
Steve
·
Saturday, 04 October 2014 00:50
·
0 Likes
·
0 Votes
·
0 Comments
·
Nice, thanks for sharing Steve If I recall correctly, the language file loading time is much longer if you have lots of language files (Which was why we stripped down all the language files into only 1 single language file).
·
Saturday, 04 October 2014 13:07
·
0 Likes
·
0 Votes
·
0 Comments
·
Steve wrote:

Guys, thank You so much for Your suggestions. I have optimezed my community to load in about 800ms with only APC! Will post some results later when i will launch site for public.
Also i have found a BUG, that gives extra 200+ms to load time and its joomla language, when i change to the other language it ads a +200ms to respone time, don't know why. I did not a research on this. Maybe it affects only me, so You may check yourself.

Regards,
Steve


hello Steve, can you share with as the solution to get 800ms ? my site begin to be slow .. i have yootheme as template + ES+ED+EB+Zoo+jfbconnect
·
Tuesday, 10 February 2015 22:54
·
0 Likes
·
0 Votes
·
0 Comments
·
Hi guys,

Thanks for sharing.
·
Wednesday, 11 February 2015 16:04
·
0 Likes
·
0 Votes
·
0 Comments
·
View Full Post