Publisher does not support the Fluid field type. Please do not contact asking when support will be available.

If you purchased an add-on from expressionengine.com, be sure to visit boldminded.com/claim to add the license to your account here on boldminded.com.

Ticket: URL Prefixes totaly kill site performance

Status Resolved
Add-on / Version Publisher 1.6.10
Severity
EE Version 2.10.3

Stephen Whitehead

Feb 24, 2016

 

Description:

Detailed steps to reproduce the issue:
1. Enable URL prefix in Publisher settings
2. Site performance is totaly killed and whole site is dragigng slow

This is currently critical issue on our side and we are thinking about switching to Transcribe.
Currently we have problems with URL prefixes that we need for translations.
Whatever we have tried on staging or production server we could not get performance with URL prefixes ON.

Since we have just launched a new website and our concept for multilanguage is Expression Engine - Publisher combo,  now that only english is entered we still have options to tweak or switch.

We had few issues until now, every time answers were that mostly all works in Sandbox and should be ok. But unfortunantly they are not even with now updated Publisher to new version and Expression Engine to latest version.

Our site is live at http://www.infobip.com and as a global company that needs to be presented globaly and have localised languages this is a must feature for us.

 

 

 

 

#1

BoldMinded (Brian)

Can you put together a test site that I could login to and take a look? Please provide a URL that is slow due to the prefix.

Are you using Structure? If so how may pages are in Structure?

#2

BoldMinded (Brian)

The test site would need FTP and cp access for me. On the live site I don’t even see where I can change languages. I need more info on how to replicate the issue.

#3

Darko Blažok-Broz

I can provide you with option to connect to our staging site. I can prepare and setup all to have production and staging 1on1 then provide you with all details.

Currently on live site, we have turned on prefixes, and no languages other then english are available. We had to do that for performace reasons. We had all ready to start translating, but problems with load times. When we found out that switching URL prefixes option to “OFF” drastically improves performace, we turend off this option and are currently on 1 language.

Even with just English enabled and other languages diasbled if URL prefixes are on , site starts to load slowly.

I will prepare a copy of site on staging server and will send you all info you need in private comment.

#4

BoldMinded (Brian)

Don’t post that info in a comment. Use the fields when you edit the ticket. When the ticket is closed the info will be erased from the db.

What about Structure? Using it? If so how many pages.

#5

BoldMinded (Brian)

Take a look at this thread, sounds like a similar situation. https://boldminded.com/support/ticket/1128

What happens if you turn off the content fallback settings on the front-end? (mentioned in comment #21 in that thread)

#6

Darko Blažok-Broz

Comment has been marked private.

#7

BoldMinded (Brian)

Can you provide the information to the staging server so I can login and take a look?

I don’t want to charge you for support right now, its still within the support included in the add-on purchase. If it gets to a point in which I feel like additional paid support is required I’ll let you know, but usually that doesn’t happen with people.

#8

Darko Blažok-Broz

Comment has been marked private.

#9

BoldMinded (Brian)

The trailing slash isn’t a bug, all URLs in EE config should always end with a /

#10

BoldMinded (Brian)

The FTP info provided doesn’t work.

#11

BoldMinded (Brian)

Also, what is the CP admin url?

#12

BoldMinded (Brian)

Also, please update the ticket and add the server info in the fields provided. As mentioned it is more secure as those fields are erased when the ticket is closed. Putting that information in the comment isn’t as secure. Thanks.

#13

Darko Blažok-Broz

Comment has been marked private.

#14

Darko Blažok-Broz

Comment has been marked private.

#15

BoldMinded (Brian)

I’ve updated my hosts file, but its still not connecting. https://www.dropbox.com/s/1vow4ah9gjniugd/Screenshot 2016-02-25 08.27.37.png?dl=0

#16

BoldMinded (Brian)

Test https://www.dropbox.com/s/1vow4ah9gjniugd/Screenshot 2016-02-25 08.27.37.png?dl=0

#17

Darko Blažok-Broz

Comment has been marked private.

#18

Darko Blažok-Broz

Comment has been marked private.

#19

Darko Blažok-Broz

Comment has been marked private.

#20

BoldMinded (Brian)

This is the error message that Transmit gives me.

Connection timed out or server hung up. The server you are connecting to may be configured to limit the number of connections you are allowed to make.

#21

BoldMinded (Brian)

Comment has been marked private.

#22

Darko Blažok-Broz

Comment has been marked private.

#23

BoldMinded (Brian)

Comment has been marked private.

#24

BoldMinded (Brian)

Comment has been marked private.

#25

Darko Blažok-Broz

Comment has been marked private.

#26

BoldMinded (Brian)

I don’t debug production servers, sorry. Part of my Support Terms.

Is there any IP white list for the FTP accounts? I’ve seen that happen before.

#27

Darko Blažok-Broz

Comment has been marked private.

#28

Darko Blažok-Broz

Comment has been marked private.

#29

Darko Blažok-Broz

Comment has been marked private.

#30

BoldMinded (Brian)

Comment has been marked private.

#31

BoldMinded (Brian)

Looks like the FTP Allow thing will work. I’ll use that for now. Thanks.

#32

BoldMinded (Brian)

Could you answer these questions please.

I’m seeing a 2-3 second response time on http://infobip.staging/ru/platform-ru. Is that what you’d consider a slow page?

What sort of caching do you have in place?

#33

BoldMinded (Brian)

Is Publisher turned off on the staging site? If so, could you please enable it. I tried logging into the staging site CP but the credentials you provided are no longer valid. Can you update with working credentials. Thanks.

#34

Darko Blažok-Broz

I have updated staging server to reflect newest changes on production. Forgot to add again you as user, now have corrected this and added you again. User data are as I have provided you with before , are also in ticket here.

Yesterday prefixes were turned off, this is why performance was ok. Currently you can easily compare

  1. http://infobip.staging - prefixes are turned on
  2. http://www.infobip.com - prefixes are turned off

It is basically all the same on both sites except prefixes, so you will be able to se big performance difference.

Let me know if there is anything you need, Best, M

#35

BoldMinded (Brian)

I’m seeing like a 1, maybe 2 second difference with the prefixes turned on. I’m not sure I would qualify this as an emergency issue. A 5-10 second load time would be cause for concern. I’m not sure what I could do outside of refactoring a ton of code to fix this… and thats even if I find out what is causing the additional 1 second of load time.

You still haven’t answered my question about caching. What sort of caching do you have in place?

#36

Darko Blažok-Broz

File caching is on both sites turned on. We use native EE caching.

Problem is very visible on this screenshots. Please check “time to first byte” and “load time”. In both cases , specially time to first byte with URL prefixes is very high. So in many cases load time is over 5 seconds.

Here are schreenshots

https://www.dropbox.com/s/9f3eqhom4k8mn7b/Production-Platform.png?dl=0 https://www.dropbox.com/s/kru61tp06x33mwt/Production-Homepage.png?dl=0

https://www.dropbox.com/s/ilja7dyz2kzi2f0/Staging-Platform.png?dl=0 https://www.dropbox.com/s/nexxnmacfn4xxj8/Staging-Homepage2.png?dl=0 https://www.dropbox.com/s/3aqq75hib8yg32p/Staging-Homepage.png?dl=0

#37

Darko Blažok-Broz

First to images are from production with prefixes turned off, and other 3 from staging with prefixes turned on.

Just a notice to screenshots above.

#38

BoldMinded (Brian)

Have you tried any other caching, like Cloudflare?

#39

BoldMinded (Brian)

What tool are you using to get those metrics?

#40

Darko Blažok-Broz

We have not tried Cloudflare, was thinking about CE Cache if this would add some performance.

Those measurements were taken using https://addons.mozilla.org/en-us/firefox/tag/performance-analyzer addon for Firefox. But when switching on/off URL prefixes on production we have tried Google Page Speed Insights and also other tools. Results are more or less very similar.

I used this one now because it gives a good screenshot and it has a good visibility of measurements.

What goes rapidly higher is “time to first byte” with prefixes on. With 4 seconds page load we would be ok, mostly our problem is that often pages have that time to first byte longer and this gives load times often over 5 seconds which we find a bit to slow.

#41

BoldMinded (Brian)

I think I’ve found where the issue is. Not sure how to fix it though. I’ll let you know when I figure something out.

#42

BoldMinded (Brian)

Ok, check it out now. I found a method that was called repeatedly, which in turn called a method to fetch and iterate through all 860 site pages a couple hundred times. I added some request caching so the method, even though its still called a lot, doesn’t make the call to fetch and iterate all of the site pages each time its called. Before this change EE’s request times were about 3.5 seconds. Now its consistently under 1 second.

#43

Darko Blažok-Broz

Checked and tested on staging. Now all looks awesome, really awesome.

I will today , but later, at some late time, deploy staging to production site and check all also there. It is the same server so all should be great.

Will then if all ok, mark this issue as solved.

Is there any specifics that I need to take care about when deploying this to production ?

Great job here Brian and much much thanks for solving this issue.

Best, M

#44

BoldMinded (Brian)

No specifics when deploying, just make sure you grab the latest code from staging (via version control or just copy the publisher folder over) so you get the changes. Glad its working faster now. This change will help other customers too.

#45

BoldMinded (Brian)

Going to close the ticket, if something else comes up just reopen it or create a new ticket linking to this one.

Login to reply