--
You received this message because you are subscribed to the Google Groups "Joomla! General Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-gene...@googlegroups.com.
To post to this group, send an email to joomla-de...@googlegroups.com.
Visit this group at http://groups.google.com/group/joomla-dev-general.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Joomla! General Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-gene...@googlegroups.com.
To post to this group, send an email to joomla-de...@googlegroups.com.
Visit this group at http://groups.google.com/group/joomla-dev-general.
For more options, visit https://groups.google.com/groups/opt_out.
Please pardon any errors, this message was sent from my iPhone.
+1 on Nic's post. (Although I would suggest adding a parameter to deactivate the scrolling entirely, or query for + or - 1 in order to use a much more performance friendly next prev instead).
In addition, it would be helpful to be able to deactivate the view access check (if it's all public view, why slow it down?).
Remove join to contact - I seriously doubt anyone with significant volume is using that - or if they are, they should stop.
This should not have been done as there is a N:N relationship between articles and contacts. There is a hack to "fix" that - but the JOIN should come out - a plugin should be used for those who want this.
GROUP BY - WHY? Still have yet to hear anyone who understands why all select values are part of a group by. (I have many times heard that it must have something to do with PostgreSQL, but, I wonder)
If nothing else, being able to override the model more easily would help those trying to use Joomla with a lot of data. I've always had to override with any serious load.
It does not work, as it is, for anything over a 1,000 articles, or so. (if that) Just too slow.
Wonder what Fotis does? He builds some big sites.
>> email to joomla-dev-general+unsub...@googlegroups.com.
>>
>> To post to this group, send an email to joomla-de...@googlegroups.com.
>> Visit this group at http://groups.google.com/group/joomla-dev-general.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "Joomla! General Development" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/joomla-dev-general/sVFw9reqGGw/unsubscribe.
>> To unsubscribe from this group and all of its topics, send an email to
>> joomla-dev-general+unsub...@googlegroups.com.
>> To post to this group, send an email to joomla-de...@googlegroups.com.
>> Visit this group at http://groups.google.com/group/joomla-dev-general.
>> For more options, visit https://groups.google.com/groups/opt_out.
>
> --
> .--- .. -. -.. .- -. --.. .... --- ..-
>
> --
> You received this message because you are subscribed to the Google Groups "Joomla! General Development" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-general+unsub...@googlegroups.com.
>> email to joomla-dev-gene...@googlegroups.com.
>>
>> To post to this group, send an email to joomla-de...@googlegroups.com.
>> Visit this group at http://groups.google.com/group/joomla-dev-general.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "Joomla! General Development" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/joomla-dev-general/sVFw9reqGGw/unsubscribe.
>> To unsubscribe from this group and all of its topics, send an email to
>> joomla-dev-gene...@googlegroups.com.
>> To post to this group, send an email to joomla-de...@googlegroups.com.
>> Visit this group at http://groups.google.com/group/joomla-dev-general.
>> For more options, visit https://groups.google.com/groups/opt_out.
>
> --
> .--- .. -. -.. .- -. --.. .... --- ..-
>
> --
> You received this message because you are subscribed to the Google Groups "Joomla! General Development" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-gene...@googlegroups.com.
> To post to this group, send an email to joomla-de...@googlegroups.com.
> Visit this group at http://groups.google.com/group/joomla-dev-general.
> For more options, visit https://groups.google.com/groups/opt_out.
--
С уважением,
Денис Рябов
--
You received this message because you are subscribed to the Google Groups "Joomla! General Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-gene...@googlegroups.com.
To post to this group, send an email to joomla-de...@googlegroups.com.
Visit this group at http://groups.google.com/group/joomla-dev-general.
For more options, visit https://groups.google.com/groups/opt_out.
>> email to joomla-dev-general+unsub...@googlegroups.com.
>>
>> To post to this group, send an email to joomla-de...@googlegroups.com.
>> Visit this group at http://groups.google.com/group/joomla-dev-general.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>> --
>> You received this message because you are subscribed to a topic in the
>> Google Groups "Joomla! General Development" group.
>> To unsubscribe from this topic, visit
>> https://groups.google.com/d/topic/joomla-dev-general/sVFw9reqGGw/unsubscribe.
>> To unsubscribe from this group and all of its topics, send an email to
>> joomla-dev-general+unsub...@googlegroups.com.
>> To post to this group, send an email to joomla-de...@googlegroups.com.
>> Visit this group at http://groups.google.com/group/joomla-dev-general.
>> For more options, visit https://groups.google.com/groups/opt_out.
>
> --
> .--- .. -. -.. .- -. --.. .... --- ..-
>
> --
> You received this message because you are subscribed to the Google Groups "Joomla! General Development" group.
> To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-general+unsub...@googlegroups.com.
> To post to this group, send an email to joomla-de...@googlegroups.com.
> Visit this group at http://groups.google.com/group/joomla-dev-general.
> For more options, visit https://groups.google.com/groups/opt_out.
--
С уважением,
Денис Рябов
--
You received this message because you are subscribed to the Google Groups "Joomla! General Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-general+unsub...@googlegroups.com.
To post to this group, send an email to joomla-de...@googlegroups.com.
Visit this group at http://groups.google.com/group/joomla-dev-general.
For more options, visit https://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Joomla! General Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-gene...@googlegroups.com.
+1 on Nic's post. (Although I would suggest adding a parameter to deactivate the scrolling entirely, or query for + or - 1 in order to use a much more performance friendly next prev instead).
Hi Amy,+1 on Nic's post. (Although I would suggest adding a parameter to deactivate the scrolling entirely, or query for + or - 1 in order to use a much more performance friendly next prev instead).I've thought of that and toyed around with the idea. It's easy to not allow scrolling before page #1. But it's really hard figuring out when you're in the last page. I tried applying a rule like "if we show 20 items and there are less than 20 items shown on the page we're on the last page". There's one small issue. What if the number of records is divisible by the number of items per page, e.g. exactly 400 items with 20 shown per page? Bummer :(
Large tmp files are mostly created trough an order by....do you see one in the query. Sorry but sending this from my phone....
Once again I tried both way (apply the patch and install latest git version), they don't seem to help a lot: the site still takes 1 minute or so (without caching) to load each article listings page, and I'm still seeing about 1GB of mysql tmp files being written and read, besides the pagination area varnished;-) didn't have time to investigate that yet.
I've also tried to load my dataset into a fresh install of Wordpress, the load time for post listings are much, much faster, I wish in Joomla's next major release we can see this improve for large site...
--
Once again I tried both way (apply the patch and install latest git version), they don't seem to help a lot: the site still takes 1 minute or so (without caching) to load each article listings page, and I'm still seeing about 1GB of mysql tmp files being written and read, besides the pagination area varnished;-) didn't have time to investigate that yet.
I've also tried to load my dataset into a fresh install of Wordpress, the load time for post listings are much, much faster, I wish in Joomla's next major release we can see this improve for large site...
Gary - that's exactly what I meant by a better way to do pagination for large result sets +1.
Application 0.000 seconds (+0.000); 0.19 MB (+0.185) - afterLoad
Application 0.059 seconds (+0.059); 0.92 MB (+0.731) - afterInitialise
Application 0.079 seconds (+0.019); 1.10 MB (+0.181) - afterRoute
Application 11.155 seconds (+11.076); 1.84 MB (+0.744) - afterDispatch
Application 11.161 seconds (+0.006); 1.94 MB (+0.098) - beforeRenderModule mod_articles_latest (Latest Article)
Application 15.597 seconds (+4.436); 1.96 MB (+0.023) - afterRenderModule mod_articles_latest (Latest Article)
Application 15.597 seconds (+0.000); 1.96 MB (-0.005) - beforeRenderModule mod_login (Login Form)
Application 15.603 seconds (+0.006); 1.97 MB (+0.014) - afterRenderModule mod_login (Login Form)
Application 15.603 seconds (+0.000); 1.97 MB (+0.001) - beforeRenderModule mod_breadcrumbs (Breadcrumbs)
Application 15.606 seconds (+0.003); 1.98 MB (+0.008) - afterRenderModule mod_breadcrumbs (Breadcrumbs)
Application 15.607 seconds (+0.001); 1.98 MB (-0.001) - beforeRenderModule mod_menu (Main Menu)
Application 15.618 seconds (+0.011); 2.07 MB (+0.092) - afterRenderModule mod_menu (Main Menu)
Application 15.623 seconds (+0.005); 2.09 MB (+0.020) - afterRender
Gary - that's exactly what I meant by a better way to do pagination for large result sets +1.And, yea, there are order by - and group by - that will create a nice temporary file.I'd like to see the profiler results tho.Can you turn the profiler on in the admin and then share those queries?Seems like there are three list queries - one for the links (prev, next, current set), one for the total, and then the third for the actual query.
On Wed, Jul 10, 2013 at 11:27 PM, Jindan Zhou <jin...@gmail.com> wrote:
Once again I tried both way (apply the patch and install latest git version), they don't seem to help a lot: the site still takes 1 minute or so (without caching) to load each article listings page, and I'm still seeing about 1GB of mysql tmp files being written and read, besides the pagination area varnished;-) didn't have time to investigate that yet.
I've also tried to load my dataset into a fresh install of Wordpress, the load time for post listings are much, much faster, I wish in Joomla's next major release we can see this improve for large site...
--
You received this message because you are subscribed to the Google Groups "Joomla! General Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-general+unsub...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-gene...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-general+unsubscribe@googlegroups.com.
To post to this group, send an email to joomla-de...@googlegroups.com.
Visit this group at http://groups.google.com/group/joomla-dev-general.
For more options, visit https://groups.google.com/groups/opt_out.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-gene...@googlegroups.com.
Gary thanks!
Your articles.php did not pull articles from the category: `There are
no articles in this category. If subcategories display on this page,
they may contain articles.`
--
You received this message because you are subscribed to the Google Groups "Joomla! General Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-gene...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-gene...@googlegroups.com.
1) You viewing the homepage/frontpage right?
Yes, on frontpage. Home menu is set to display category list.
2) Are you logged on or accessing as a guest user? Since it worked as a guest user and there was a bug when logged on as super admin, I'm guessing you were logged on?
Yes, accessing as guest. Also line #835 gave me some trouble;-) needed to use linux style (forward) slash `/`
Gary - I'm just taking it one step at a time, removing some of the more likely problems (which I can retrieve the data in a less intensive way), get some good stats on exact changes. We definitely can get speed removing all the joins but that doesn't do us much good in the end -- that damned query needs to be fixed!
i am good at command line, too, so if you have syntax on mysql shell,
that shall do. asked in #mysql, found i don't even have voice there;-(
>>>>>>>> send an email to joomla-dev-general+unsub...@googlegroups.com.
>>>>>>>> To post to this group, send an email to
>>>>>>>> joomla-de...@googlegroups.com.
>>>>>>>>
>>>>>>>> Visit this group at
>>>>>>>> http://groups.google.com/group/joomla-dev-general.
>>>>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>> --
>>>>>> You received this message because you are subscribed to the Google
>>>>>> Groups "Joomla! General Development" group.
>>>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>>>> an email to joomla-dev-general+unsub...@googlegroups.com.
>>>>>> To post to this group, send an email to joomla-de...@googlegroups.com.
>>>>>> Visit this group at http://groups.google.com/group/joomla-dev-general.
>>>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>> --
>>>> You received this message because you are subscribed to the Google
>>>> Groups "Joomla! General Development" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to joomla-dev-general+unsub...@googlegroups.com.
>>>> To post to this group, send an email to joomla-de...@googlegroups.com.
>>>> Visit this group at http://groups.google.com/group/joomla-dev-general.
>>>> For more options, visit https://groups.google.com/groups/opt_out.
>>>>
>>>>
>>>
>>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "Joomla! General Development" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to joomla-dev-general+unsub...@googlegroups.com.
>> To post to this group, send an email to
>> joomla-de...@googlegroups.com.
>> Visit this group at http://groups.google.com/group/joomla-dev-general.
>> For more options, visit https://groups.google.com/groups/opt_out.
>>
>>
>
>
> --
> You received this message because you are subscribed to a topic in the
> Google Groups "Joomla! General Development" group.> To unsubscribe from this topic, visit
> https://groups.google.com/d/topic/joomla-dev-general/sVFw9reqGGw/unsubscribe.
> To unsubscribe from this group and all of its topics, send an email to
> To post to this group, send an email to joomla-de...@googlegroups.com.
> Visit this group at http://groups.google.com/group/joomla-dev-general.
> For more options, visit https://groups.google.com/groups/opt_out.
>
>
--
.--- .. -. -.. .- -. --.. .... --- ..-
--
You received this message because you are subscribed to the Google Groups "Joomla! General Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-general+unsub...@googlegroups.com.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-gene...@googlegroups.com.
I believe there's a setting some where in the git version, as well as your fork, let me see if I can find it...
>>> Sent from mobile device
Did:
1. git clone https://github.com/AmyStephen/joomla-cms
2. cp ../htdocs/configuration.php joomla-cms/.
3. point nginx.conf root to joomla-cms, and restart nginx
4. here's the profile: http://pastebin.com/SwVEh3pv
Am I missing something?;-)
On Thursday, July 11, 2013 2:41:18 PM UTC-4, Jindan Zhou wrote:i am good at command line, too, so if you have syntax on mysql shell,
that shall do. asked in #mysql, found i don't even have voice there;-(
You could try:SET GLOBAL general_log = 'ON';That will log some basic information on every query being run, giving you an idea of where the queries are hitting issues. Then with the slower queries, from the mysql command line, first do a 'use database <joomladb>;' followed up by 'explain <query>;' and you might spot some parts that can be tuned.
Not only the explain stuff, the output format changed quite a bit, they now have an HTML color bar to indicate the query time, stack that can link the source file in your ide.
>>> Sent from mobile device
Give me some moment (an hour or so), also I had not turn on general log, I remember at one time I turned that on and forgot to turn off later, my hard drive were filled up like crazy, lol...
>>> Sent from mobile device
In that case, can you just run the baseline query again? (No changes?) Or is that impossible? Do you need me to revert my change? Or give you the original file again?I don't really care if there are extra queries but do need the baseline on the same basis.
Gary - no indexes (yet). That's cheating.
--
It's slow going, I realize, but we are trying to get a good baseline. The CMS master branch has some kind of changes for the logging that have literally tripled the queries. Those first two tests need to be rerun on that basis. Regardless, even with triple the queries - step 1 is proving successful at 4 second savings (and we know it will be more.)When we get the crap cleared away -- then -- it's time to look at what other tweaks can be made in terms of the physical structure. But first, problems. If you do indexing first, you lose your baseline for performance testing when removing each problem.Now -- each and every single one of the items I am looking at are problems that can be fixed (and for crying out loud really need to be.) NONE of those items will be fixed by moar indexing. See what I mean?2. Three queries in the core model to get links, totals, and the query results. We can *at least* drop that to one. The query that Beat optimized saved almost a second - but we should be able to eliminated completely. That will be another big hunk of time.Gary -1. Contact join (if this is needed, and if it is found to the performance hog I believe it is, then for the 20 rows, or so returned, it will be far quicker to join with a 2nd query).
There are some problems in the query that should be fixed. That's the type of thing I am going after.
Here's my list:
3. This piece of garbage -->group('a.id, a.title, a.alias, a.introtext, a.checked_out, a.checked_out_time, a.catid, a.created, a.created_by, a.created_by_alias, a.created, a.modified, a.modified_by, uam.name, a.publish_up, a.attribs, a.metadata, a.metakey, a.metadesc, a.access, a.hits, a.xreference, a.featured, a.fulltext, a.state, a.publish_down, badcats.id, c.title, c.path, c.access, c.alias, uam.id, ua.name, ua.email, parent.title, parent.id, parent.path, parent.alias, v.rating_sum, v.rating_count, c.published, c.lft, a.ordering, parent.lft, fp.ordering, c.id, a.images, a.urls');
I want to understand the impact of this ridiculous group by crap. From what I am hearing, it was found to be needed for SQL Server and PostgreSQL. I've used SQL Server since it was a 4.21a port of Sybase to NT. You do *not* need group by for select - but those inner joins that are aggregating things might be creating the requirement. Don't have a SQL Server box handy. But, we can add a check that if it is MySQL - don't do it. But I want to see what it costs.4. Several joins that can be conditional for ratings, etc.5. Alternative scrolling - as I mentioned above and you described in more detail. Get rid of 2 out of 3 queries. Save more time.
SELECT `m`.`tag_id`,`t`.*FROM `w0z9v_contentitem_tag_map` AS mINNER JOIN `w0z9v_tags` AS tON `m`.`tag_id` = `t`.`id`WHERE `m`.`type_alias` = 'com_content.article'AND `m`.`content_item_id` = 9162AND `t`.`published` = 1AND t.access IN (1,1,5)Explain
id select_type table type possible_keys key key_len ref rows Extra
1 SIMPLE t ALL PRIMARY,tag_idx,idx_access NO INDEX KEY COULD BE USED NULL NULL 35 Using whereProfileStatus Durationstarting 0.0 msWaiting for query cache lock 0.0 mschecking query cache for query 0.0 mschecking privileges on cached 0.0 mschecking permissions 0.0 mschecking permissions 0.0 mssending cached result to clien 0.0 mslogging slow query 0.0 mscleaning up 0.0 msCall StackJROOT/libraries/cms/helper/tags.php:411JROOT/components/com_content/models/articles.php:630JROOT/components/com_content/models/category.php:234JROOT/libraries/legacy/view/legacy.php:398JROOT/components/com_content/views/category/view.html.php:61JROOT/libraries/legacy/controller/legacy.php:685JROOT/components/com_content/controller.php:79JROOT/libraries/legacy/controller/legacy.php:722JROOT/components/com_content/content.php:16JROOT/libraries/legacy/component/helper.php:355JROOT/libraries/legacy/component/helper.php:335JROOT/includes/application.php:220JROOT/index.php:52[Add xdebug.file_link_format directive to your php.ini file to have links for files]Query Time: 4607.48 ms After last query: 3.46 ms Query memory: 0.011 MB Memory before query: 4.965 MB
SELECT COUNT(*)
FROM w0z9v_content AS aLEFT JOIN w0z9v_content_frontpage AS fpON fp.content_id = a.idLEFT JOIN w0z9v_categories AS cON c.id = a.catidLEFT JOIN w0z9v_users AS uaON ua.id = a.created_byLEFT JOIN w0z9v_users AS uamON uam.id = a.modified_by
LEFT JOIN w0z9v_categories as parent
OUTER JOIN (SELECT cat.id as id
FROM w0z9v_categories AS cat JOIN w0z9v_categories AS parentON cat.lft BETWEEN parent.lftAND parent.rgtWHERE parent.extension = 'com_content'AND parent.published != 1GROUP BY cat.id ) AS badcatsON badcats.id = c.idWHERE a.access IN (1,1,5)AND c.access IN (1,1,5)AND
CASE WHEN badcats.id is null THEN a.state ELSE 0 END = 1AND a.catid = 8AND (a.publish_up = '0000-00-00 00:00:00' OR a.publish_up <= '2013-07-11 19:28:29')AND (a.publish_down = '0000-00-00 00:00:00' OR a.publish_down >= '2013-07-11 19:28:29')GROUP BY a.id, a.title, a.alias, a.introtext, a.checked_out, a.checked_out_time, a.catid, a.created, a.created_by, a.created_by_alias, a.created, a.modified, a.modified_by, uam.name, a.publish_up, a.attribs, a.metadata, a.metakey, a.metadesc, a.access, a.hits, a.xreference, a.featured, a.fulltext, a.state, a.publish_down, badcats.id, c.title, c.path, c.access, c.alias, uam.id, ua.name, ua.email, parent.title, parent.id, parent.path, parent.alias, v.rating_sum, v.rating_count, c.published, c.lft, a.ordering, parent.lft, fp.ordering, c.id, a.images, a.urls
It's not that we don't have the same goals, it's just that my process differs from yours. Your looking at an iterative subtractive process - remove one piece at a time until you find the problem. My process tends to be additive - strip all the extraneous pieces and get the 'ideal' performance - then iteratively add pieces back in to find which one causes big jumps.
Query Time: 4607.48 ms After last query: 3.46 ms Query memory: 0.011 MB Memory before query: 4.965 MBOf course, this assumes that the last line is part of the above report and not for the below query.If this is the case, then we have 8-12 seconds of query issues due to some of the NEW features in Joomla 3[the tags, the extensions, and the assets tables]Now, if I'm reading this wrong than the Query Time is pointing to the lines following rather than proceeding them. So adding an index to tags makes a good test - if the problem is in the new features it will be immediately apparent with a 4 second improvement in page load.
WHERE `m`.`type_alias` = 'com_content.article'
AND `m`.`content_item_id` = 9162
AND `t`.`published` = 1
AND t.access IN (1,1,5)
AND `c`.`type_alias` = 'com_content.article'
AND `m`.`content_item_id` = 9162
AND `t`.`published` = 1
AND t.access IN (1,1,5)
--
Hi all,
My site has about 70k articles in about 10 categories, when I need to load the article list somewhere, say, category list in frontpage, latest article module, it takes long to load the page, usually in the 45+ seconds. My observation is that those pages need to query all rows in a category to compute the correct pagination (I am still a beginner in Joomla, so correct me if I am wrong).
I have also noticed that most of the query time are spent on building tmp tables, i.e., `Copying tmp tables to...`, so my immediate solution was to let MySQL to use tmpfs as its tmpdir, and that indeed improved, roughly the Joomla debug info shows:
Before tmpfs:
Application 43.734 seconds (+43.653); 1.84 MB (+0.741) - afterDispatch
After tmpfs:
Application 2.224 seconds (+2.137); 1.84 MB (+0.706) - afterDispatch
I believe if my assumption on pagination was true, then we could even improve the large site performance by change the way how we paginate listings, in my case, I think just have a link to the next page would suffice, that way we don't have to query all rows every time, am I right?
To back up my observations, in one of my category I have about 30k articles, when I click on a page number in the listing page, MySQL needs roughly 800M to over 1G for writing the tmp table, imaging all those files are written/read into/from physical hard drive, it explains very well why it takes so long to load that page.
Any thoughts?
Okay was in the run now back into business. Amy, you guys are the
awesome ones that deserve appreciation;-) Gary, also consider the
4000ms is run in my precious tmpfs;-) No I am not *more* confused for
the conflicts as I am not seeing, lol...
So to make a more consistent call, the following two profiles are
based on Amy's fork:
Amy fork: http://pastebin.com/uf7P72Y4
Amy fork with original articles.php from Joomla 3.1.1: http://pastebin.com/cZK7CREa
Also I ran Gary's code
mysql> CREATE INDEX `tmp_idx_type_alias` on w0z9v_contentitem_tag_map (`type_alias`,`type_id`) USING BTREE;
Query OK, 0 rows affected (0.50 sec)
Records: 0 Duplicates: 0 Warnings: 0
But I don't see that affects page loading time...
I am still in the middle of something, but if I need to run any thing, I'll try my best, thank you all!
On Monday, July 8, 2013 2:57:08 PM UTC-5, Jindan Zhou wrote:Hi all,
My site has about 70k articles in about 10 categories, when I need to load the article list somewhere, say, category list in frontpage, latest article module, it takes long to load the page, usually in the 45+ seconds. My observation is that those pages need to query all rows in a category to compute the correct pagination (I am still a beginner in Joomla, so correct me if I am wrong).
I have also noticed that most of the query time are spent on building tmp tables, i.e., `Copying tmp tables to...`, so my immediate solution was to let MySQL to use tmpfs as its tmpdir, and that indeed improved, roughly the Joomla debug info shows:
Before tmpfs:
Application 43.734 seconds (+43.653); 1.84 MB (+0.741) - afterDispatch
After tmpfs:
Application 2.224 seconds (+2.137); 1.84 MB (+0.706) - afterDispatch
I believe if my assumption on pagination was true, then we could even improve the large site performance by change the way how we paginate listings, in my case, I think just have a link to the next page would suffice, that way we don't have to query all rows every time, am I right?
To back up my observations, in one of my category I have about 30k articles, when I click on a page number in the listing page, MySQL needs roughly 800M to over 1G for writing the tmp table, imaging all those files are written/read into/from physical hard drive, it explains very well why it takes so long to load that page.
Any thoughts?
No I don't have any contacts, yet
>>> Sent from mobile device
Nor I need contact component...
>>> Sent from mobile device
I have been waiting for someone to ask this question :-)
Tags component is vital for my site, I favored the com_tags since I tend to use as less as possible third party extensions, both for the consideration of code compatibility and future maintainabilty. Currently tags are generated by scanning content for a list of keywords, roughly 2 to 3 tags on average. When the site goes online l plan to gave privileges to most users to freely tag an article, need to override front page editor for that purpose.
>>> Sent from mobile device
Hold on wasn't aware you've send new thing the same link? Or if you could re send I'd appreciate thanks
>>> Sent from mobile device
Yeah will do but not sure which file to change. Also I don't mind to send my data file to you, two things,
It's in Chinese that should not be a problem; it sure takes time to load: on my server, 30 hours:-( BTW WordPress took 12 hours
No all these tests cache off
>>> Sent from mobile device
...
Yeah that's the initial data, once the site is up, my scrapy bot will pass each harvested item to the php side, then it becomes a routine job done in real time
>>> Sent from mobile device
...
Matt - I have a test implementation with sample data - most of it copied once - three tags - one tag on each article - and with this FANTASTIC debugging tool, I can see the problems. It's not just pagination, either, it's across the board. So, I think it's probably a good idea to see what the plan is moving forward with UCM, maybe in the CMS list discussion.
Jindan - I'm not sure what is best, right now. I think it's fair to say using tags with a lot of data right now will be slow. Fixing that might take time, I'm just not sure what the plans are. You might want to try another tagging solution, see if it's better. If you are in no hurry and willing to play along, cool. Let's see where things lead. Feel free to add me on Skype or email anytime.
Amy - Thanks. Not to get off topic, but at some point, I'd love to hear how you added tags programmatically. I was looking at adding tag creation to com_overload, but it is a seemingly a daunting task. It seems like newly tagged items need to be checked for, and added to if not already, the #__ucm_base table for a ucm_id, which seems to duplicate that content in #__ucm_content, and then check for if the tag exists in #__tags, and create that tag if it doesn't exist, and then associate the tag with the item in #__ucm_content in the #__contentitem_tag_map table. Phew!
Amy - Thanks. Not to get off topic, but at some point, I'd love to hear how you added tags programmatically. I was looking at adding tag creation to com_overload, but it is a seemingly a daunting task. It seems like newly tagged items need to be checked for, and added to if not already, the #__ucm_base table for a ucm_id, which seems to duplicate that content in #__ucm_content, and then check for if the tag exists in #__tags, and create that tag if it doesn't exist, and then associate the tag with the item in #__ucm_content in the #__contentitem_tag_map table. Phew!
Best,
Matt ThomasFounder betweenbrain™Lead Developer Construct Template Development FrameworkPhone: 203.632.9322
Twitter: @betweenbrainGithub: https://github.com/betweenbrain
On Fri, Jul 12, 2013 at 9:06 AM, Amy Stephen <amyst...@gmail.com> wrote:
Matt - I have a test implementation with sample data - most of it copied once - three tags - one tag on each article - and with this FANTASTIC debugging tool, I can see the problems. It's not just pagination, either, it's across the board. So, I think it's probably a good idea to see what the plan is moving forward with UCM, maybe in the CMS list discussion.
Jindan - I'm not sure what is best, right now. I think it's fair to say using tags with a lot of data right now will be slow. Fixing that might take time, I'm just not sure what the plans are. You might want to try another tagging solution, see if it's better. If you are in no hurry and willing to play along, cool. Let's see where things lead. Feel free to add me on Skype or email anytime.
--
You received this message because you are subscribed to the Google Groups "Joomla! General Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-general+unsub...@googlegroups.com.
Amy - Thanks. Not to get off topic, but at some point, I'd love to hear how you added tags programmatically. I was looking at adding tag creation to com_overload, but it is a seemingly a daunting task. It seems like newly tagged items need to be checked for, and added to if not already, the #__ucm_base table for a ucm_id, which seems to duplicate that content in #__ucm_content, and then check for if the tag exists in #__tags, and create that tag if it doesn't exist, and then associate the tag with the item in #__ucm_content in the #__contentitem_tag_map table. Phew!
Best,
Matt ThomasFounder betweenbrain™Lead Developer Construct Template Development FrameworkPhone: 203.632.9322
Twitter: @betweenbrainGithub: https://github.com/betweenbrain
On Fri, Jul 12, 2013 at 9:06 AM, Amy Stephen <amyst...@gmail.com> wrote:
Matt - I have a test implementation with sample data - most of it copied once - three tags - one tag on each article - and with this FANTASTIC debugging tool, I can see the problems. It's not just pagination, either, it's across the board. So, I think it's probably a good idea to see what the plan is moving forward with UCM, maybe in the CMS list discussion.
Jindan - I'm not sure what is best, right now. I think it's fair to say using tags with a lot of data right now will be slow. Fixing that might take time, I'm just not sure what the plans are. You might want to try another tagging solution, see if it's better. If you are in no hurry and willing to play along, cool. Let's see where things lead. Feel free to add me on Skype or email anytime.
--
You received this message because you are subscribed to the Google Groups "Joomla! General Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-general+unsub...@googlegroups.com.
Gary - there *are* *many* problems.
I discouraged your first test because it just removed all the joins - that just doesn't get us anywhere - of course it's faster, but what does it mean?
Please understand, though, no matter how passionately you suggest anything your approach is "better" than mine, my response to you will be the same response I give my own assumptions - and that is "Prove it."
Okay was in the run now back into business. Amy, you guys are the
awesome ones that deserve appreciation;-) Gary, also consider the
4000ms is run in my precious tmpfs;-) No I am not *more* confused for
the conflicts as I am not seeing, lol...
Also I ran Gary's code
mysql> CREATE INDEX `tmp_idx_type_alias` on w0z9v_contentitem_tag_map (`type_alias`,`type_id`) USING BTREE;
Query OK, 0 rows affected (0.50 sec)
Records: 0 Duplicates: 0 Warnings: 0
But I don't see that affects page loading time...
--
You received this message because you are subscribed to the Google Groups "Joomla! General Development" group.
To unsubscribe from this group and stop receiving emails from it, send an email to joomla-dev-gene...@googlegroups.com.