5

Unfortunately, there wasn't a good answer in getting this to work with Matrix. Everything I tried still resulted in a page load time of 14.6 - 17.2 seconds. I worked with EllisLab all day Friday from like 2-9. We spent the day debugging templates, analyzing output, checking for red flags, etc.. I completely rebuilt the template using the native Grid field ...


4

"Template parsing time" is only the time EE spent to render the page, but not the time creating connection to DB, runnning SQL queries, making system calls, etc. Look at the SQL queries panel to see how many time is spent on each query. It should be a good start to understand why a page is slow.


4

There's a boatload of great resources on this topic. Here are a few recommendations to get you started: Install the EE Debug Toolbar http://devot-ee.com/add-ons/ee-debug-toolbar Adam's suggestion of enabling template debugging is a good one. This add-on is a great way to uncover potential issues. Be on the lookout for high query counts and process ...


3

Sounds like a poorly coded template... First, you should aim to refactor it using the multi_add_to_cart_form instead of the simple add_to_cart_form: http://cartthrob.com/docs/tags_detail/multi_add_to_cart_form/index.html This will give you a single form for all 6 products so should reduce CT's load by 6X. You should then look into other optimisations and ...


3

It's rather awkward that hook is being called every time. Low Search uses the hook to update collections when a channel field is deleted; it's the only hook that can be used to for that action. However, the same hook appears to be called for other reasons too, but LS won't take any action there. You can disable LS for that hook only by setting the enabled ...


3

So my experimentation here brought me to Stash. Much more succinct now and gives me everything I need in just 66 queries before caching :) {exp:channel:entries dynamic="no" channel="articles"} {categories} {exp:stash:append_list name="news_{category_id}"} {stash:item_title}{title} - {entry_date {gv_date_short}}{/stash:item_title} {/...


3

From looking at the CI_Encrypt source code, I noticed that _xor_encrypt is only used when the PHP mcrypt module is not installed. I installed the PHP mcrypt module and added it to php.ini, which seems to have substantially reduced the time required to run this function. Note: I'm still having some slowness due to this module (much less than before), ...


3

For the {exp:stash:get} tag save is only used with dynamic="yes" when retrieving dynamic values from $_POST, $_GET or segment arrays. For your menu it only makes sense to stash the parts of your menu as separate lists if you are re-using those values elsewhere. Otherwise, just wrap the tags that generate the menu with a {exp:stash:set} with the output ...


3

Yes, simple conditionals are parsed in that stage. But also, module and plugin files are "scanned". The first and third party directories are read for the presence of module and plugin files and stored for reference. If you have a lot of add-ons in the 3rd party folder (having them installed is irrelevant here), it might take longer, especially if the server ...


3

Concerning a statement from EllisLab, they posted a blog-entry on 13th April, 2016 telling that EE2 and EE3 are PHP 7-compatible: https://ellislab.com/blog/entry/time-to-upgrade-php


2

Yeah, you've got a mess on your hands. Try this no add-on method. If it doesn't help you out, notacouch's suggestion to use IfElse should be helpful. {if entry_id == "20" && cf_product_options:total_rows > "0"} <hr class="soften"> <h2>Configuration Options</h2> <table class="table table-striped table-bordered ...


2

Also, look in the debugging and watch for a jump in execution time. You will see pairs of numbers in the brackets that are the execution time and memory, and anything that is really slowing things down will show up as a jump in time. For example: (0.454163 / 21.26MB) Calling Extension Class/Method: Pt_field_pack_ext/channel_entries_tagdata (2.519405 / 21....


2

At least for Favorites, the add-on uses a hook, channel_entries_tagdata, which is a hook present in the EE Channel:Entries module. Any add-on that uses this hook will be called when the EE Channel:Entries module is used. This includes when {exp:channel:entries} is used, but can include other tags where the Channel:Entries library is being used, eg. {exp:...


2

The snippets are not actually "loading" - they are simply bits of text being stored in memory (much like global variables). They aren't actually processed until they're called. So they're not an overhead problem. You'll see these being "loaded" each time you run the template engine - which means the primary template, and then each embed.


2

I just gave it a shot and it looked like the install worked fine, but the control panel loaded up with a bunch of errors. It looked like they could likely have been suppressed by turning off E_NOTICE or changing E_STRICT in error reporting since they didn't look like errors that would stop anything from working.


2

Been running EE3 (3.3.3) with php7, and it runs smooth as a baby's butt. There are a whole lot of problems with add-ons tho I've realised. Solstice TAG throws a nasty error making it impossible to add new entries. DataGrab is not working (Well, the UI is, but no imports are made, and no import-setups can be saved). Don't know about any other add-ons (...


1

I have run a site locally on PHP 7 without any problems. EE usually only requires a minimal version of PHP. As I've said, no issues so far.


1

A good way to do this is to cache the output of the tag. You can use built-in EE tag caching or something like CE cache, either with fragment caching or full page static. This way you're getting the resized URL and CE Image doesn't keep hitting S3. We've had extremely high traffic sites where we actually create a local redis key/value store to keep track ...


1

Yes this is the right way. Performance will be the same, or similar, as if you had the same amount of traffic going through one website. To be cautious you could try scaling up to the full 20 websites a few at a time. Check performance and if it's OK then add a few more. You may also want to talk to Ellis Labs to see if you could switch your MSM licences ...


1

My understanding is, basically, no but it should not matter too much. You can remove/uninstall the Members module but it does not actually remove most of the member related tables and it doesn't control most of the queries which are sprinkled throughout core code and do not appear to be controlled by any global setting. You also cannot disable sessions in ...


1

New Relic is a fabulous tool for this.


1

For each custom field you add, it adds at least 2 columns to the exp_channel_data table, and if that table gets too big, it can affect performance in some respects. I have a site with many channels and many fields, and my exp_channel_data table is up to 600 columns. This becomes a problem when I want to add new custom fields. I have over 200k+ entries in ...


1

Interesting approach. I would typically have used Stash to set a list of all my entries (capturing categories for each of them) set a list of all the categories I want And then used nested {exp:stash:get_list} with match_against to get entries ordered by categories. Same principle as this gist by Mark Croxton Don't know if that would lower your number of ...


1

Looping through categories and outputting entries within is an inherently "expensive" process. Someone will likely pipe in here with an answer that uses Stash to optimize this, but I'd suggest two options: Use CE Cache to cache this area of your template. Use NSM Categories to output your entries grouped by category.


1

There's an old post (from 2012) here which might go some way to answer the question. You'll note that there are some major sites there. Ultimately, as you've acknowledged, the matter is one of resources and network infrastructure and not one of software. No system will cope with 10K concurrent connections unless the network is built in such a way as to ...


1

Forgive me if I'm misunderstanding, but I think Tag Caching on your query module call does what you're looking for. I'm sure Stash and CE Cache can be used here, too, if you wrap them around the query module tag.


1

I noticed myself that if else statements don't work like you think they do! Even if your if statement matches, also the code in the else part is executed. However you won't see the output. I ran into this problem and my site load time was about 3 seconds. I used the add on switchee ( http://devot-ee.com/add-ons/switchee ) which makes real if else statements....


1

The following article suggests that the Codeigniter add_cipher_noise method might fall in the category "don’t come up with your own way to solve a (possible) vulnerability". I doubt this will be fixed. The article suggests using hmac over the IV. I don't know if you could shoehorn in using the PHP internal hash_hmac() function instead of the custom ...


1

Did you try the following: enable / disable Gzip (under Admin -> System Administration -> Output and Debugging Preferences) Are you using AutoMin? If so try to enable / disable "Enable Caching" Does your server has hardware caching, if so. disable software Caching... Some servers only allow caching or other settings be set trough .htaccess


1

I'd guess it's not EE. Check the Network tab in FireBug or whatever browser dev tool you use. Check apache, mysql and php error logs too. Another good test is to reduce the code... Remove all and put pieces back in and test until you isolate the problem code.


Only top voted, non community-wiki answers of a minimum length are eligible