11

If you enable the Output Profiler you'll see the profiler at the very bottom of the page. Look around for this: If you click the show link you'll see all of the queries required to build your page along with the file, line number, class, and method that ran that query: You might still need to do a bit of hunting because a query could be created in one ...


5

In addition to the fine answer by Wes I'd add that most likely you don't need to "find a better solution" you just need to use the disable parameter in your exp:channel:entries tags. A couple of those JOINs will be eliminated with this simple fix.


5

You can do this if you're willing to programmatically manipulate hidden configuration variables in your config file ;-) I use Focus Labs Master Config style configs, so I have this in my dev config: $env_config['template_debugging'] = 'y'; $env_config['show_profiler'] = 'y'; And, obviously, you can set those to 'n' by-hand to turn off the debugger ...


4

You can log errors to a file using php_value error_log in your .htaccess file: https://stackoverflow.com/questions/11330041/specify-a-relative-path-to-php-value-error-log Here's a recommended .htaccess setup: php_flag display_errors 1 php_flag display_startup_errors 1 php_value error_reporting 30719 php_value error_log /home/USER/log/PROJECT.log php_flag ...


4

Checkout the EE Debug Toolbar. It's a great utility for seeing where your bottlenecks. Main place to check is memory consumption and db queries. My guess is it's a combination of both. EE Debug Toolbar http://devot-ee.com/add-ons/ee-debug-toolbar The latest version of EE is also compatible with New Relic, check this out. It's software specifically ...


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.


3

The right answer is: exclamation mark means a LOG item. For your current log item (screenshot you provided), this log item register from system/ee/legacy/libraries/Extensions.php file. So it register assets extension method that is calling on channel_entries_query_result hook. In short, Nothing serious, Just a log message.


3

The error message is pointing to an issue with Pixel and Tonic's Field Pack; you should attempt to upgrade it. These "white screens of death" errors with the control panel after updating are frequently caused by an issue with an add-on; you temporarily disable them by adding $config['allow_extensions'] = "n"; to your config.php.


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

Here is what worked. Discussion follows below the code. {exp:playa:children field="static_playa_related_posts" entry_id="{entry_id}" var_prefix="child" limit="8" } <div class="related blurb"> {exp:lg_replace:haystack needles="{child:mtrx_images backspace="1"}image_{row_count}|{/child:mtrx_images}"} <h4><a href="{child:...


2

I would consider checking out the ExpressionEngine Whitepaper that Nexcess recently put out. It's a fairly in depth look at best practices for ExpressionEngine performance. Hope this helps. http://www.nexcess.net/expressionengine-best-practices-whitepaper


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

If you are going to set it in config.php (instead of index.php or admin.php), you have to set it to 2 instead of 1. $config['debug'] = 2;


2

Another potential fix is to add the following config overrides: $config['require_ip_for_login'] = 'n'; $config['require_ip_for_posting'] = 'n'; My team has had luck with that when dealing with add-ons that offer the option to redirect on login (Structure and Republic Analytics in our experience).


2

By definition, a server-side error (like the MySQL error you describe) cannot be happening in one browser but not another. So my guess is that you're simply viewing the specific page on which it is happening with Chrome, and viewing a different page in Firefox and IE. (Or, another possibility - you're logged-in in Chrome, but not the others, and the error ...


2

I'm not following your question 100% but take a look at the EE Debug Toolbar. It's the newest addon for debugging EE templates and may give you more of what you're wanting. Adds an unobtrusive interface for debugging output on an ExpressionEngine 2.0 site. Replaces default Profiler and Template Debugger provided with ExpressionEngine.


2

put in die(); or exit(); after the stuff you'd like to inspect. otherwise your extension will keep running and you may not see the output.


2

the processing time is the "0.9711s" on this image. But you can add this values to your template, if you want to. The {elapsed_time}, the {total_queries}, etc are all available as standard global variables. For example, I usually add something like this to the footer of every page: {if logged_in_group_id == 1 OR site_url == "http://dev.domain.com"} &...


1

OK, I understand what you're asking, but it doesn't primarily make sense in context to a Channel Entries loop and the EE Template Parsing engine. However, I believe you really are looking for something like this: {!-- This is my template It has PHP Parsing set to `Output` --} <!-- This is our Channel Entries loop, outputting the last 10 entries --> {...


1

First, disable gzip compression in the config (gzip_output = 'n'): https://ellislab.com/expressionengine/user-guide/general/system_configuration_overrides.html#gzip-output Then, look at the error that appears when refreshing the page :-) (of course, $debug must be 1 for the error to show)


1

I had a client mention it a couple of days ago. That code is actually coming directly from Youtube's embed code. I reported it to Google yesterday but they don't seem to care. If you go to any Youtube video > Share > Embed you'll see it right after the closing iframe tag.


1

xdebug.scream did start giving output a while later, I presume the WSOD without output was cached or something. It gave me the answer to my question: I hadn't installed php mysql drivers.


1

I'd suggest turning on CodeIgniter logging. In your config.php file set the value for $config['log_threshold']. 0 = Disables logging, Error logging TURNED OFF 1 = Error Messages (including PHP errors) 2 = Debug Messages 3 = Informational Messages 4 = All Messages You'll need to also create the /system/logs/ folder and set it to be writable. You can ...


1

Almost always optimize caching with the Devot-ee or Solspace addon best suited to your specific site needs is a good idea. Read http://cdn.ctrlclickcast.com/transcripts/2011/eepodcast-055.pdf.


1

Marc, we have/had been experiencing a similar issue. We first noticed after installing Memberr. On the hour, but not every hour during the day, we'd get a hang/freeze for 1-2 minutes. So at 10:00 am any request to our ee site at two different office locations or any pc would simply stop/poll/loop call it what you want. Then at 10:02 am all requests ...


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