Jump to content
Invision Community
AaronP

URL Enhancements

Recommended Posts

Incidentally, WordPress's forum software is "BBPress" -- their open source forum software. Their "about" section references building it for speed (ironic, maybe you guys should tell them how inefficient their URL queries are).

Here's some BBPress forums that handle the "No IDs in URL" structure just fine:

http://singletrackworld.com/forum/ (604k topics)

http://boards.weddingbee.com/

http://www.econjobrumors.com/

http://www.howtogeek.com/forum/

Here's a duplicate topic from singletrack world:

http://singletrackworld.com/forum/topic/noisy-neighbours-2

Notice how all it does is add the 2?

Share this post


Link to post
Share on other sites

Syntraclick

Matt Mecham invited you to contact him about this URL / ID issue, which is a privilege extended to few. Have you done this? If not, why bang on about this issue here, as none of us can alter the way in which IPB 4 will work - only someone like Matt can.

RR

Yes I sent him an email yesterday and am awaiting a response.

Share this post


Link to post
Share on other sites

Since it's been mentioned that few forums might have more than 1m topics let met say quickly that one of the forums I work for has 1.068.271 topics.

And concerning bbpress, nobody ever said that it can't be done but it's not efficient on big boards as TSP just demonstrated above with those queries. Especially when you have thousands of users online at the same time too. Even if someone is using it it doesn't mean it works properly.

EDIT: I wanted to check how many users online that bbpress forum has but I can't seem to find it.

Edited by tera

Share this post


Link to post
Share on other sites

Since it's been mentioned that few forums might have more than 1m topics let met say quickly that one of the forums I work for has 1.068.271 topics.

And concerning bbpress, nobody ever said that it can't be done but it's not efficient on big boards as TSP just demonstrated above with those queries. Especially when you have thousands of users online at the same time too. Even if someone is using it it doesn't mean it works properly.

EDIT: I wanted to check how many users online that bbpress forum has but I can't seem to find it.

TSP did not demonstrate inefficiency. I provided two examples of large forums:

http://singletrackworld.com/forum/

http://wordpress.org/support/

... that work just fine.

The excuse for WordPress's forums are "they must be on super expensive servers to make up for the inefficient queries". Disagreed. Everything should be relevant.

And I've said this probably a dozen times:

No one is going to force large forum owners to adopt this URL structure. It should be an "option" for those who want to use it.

Does anyone here object to me using this structure or anyone else who wants to use it?

This isn't an "either or" thing I'm arguing. Nothing wrong with innovation and accommodation.

Share this post


Link to post
Share on other sites

Doesn't it go without saying that "super large" forums are going to have "super large" servers, most likely in a cluster configuration, that can scale as needed, when needed?

Big sites want the best URL/URI schemes possible for SEO purposes, and little sites trying to become big sites should want the same. If utilizing superior URL/URI schemes is more taxing on system resources, it merely comes down to a business decision: Is the additional cost of implementing and maintaining it worth the added benefit(s) it provides?

To answer that, you have to also consider per user acquisition costs, user turnover rates, per user value, etc... It's all about monetizing user values/costs.

Share this post


Link to post
Share on other sites

Doesn't it go without saying that "super large" forums are going to have "super large" servers, most likely in a cluster configuration, that can scale as needed, when needed?

That's not an excuse to write bad queries that you know are bad.

"Hey, this query will be fine on big boards as long as the big board has a big server".

Bad assumption. Bad logic.

Share this post


Link to post
Share on other sites

That's not an excuse to write bad queries that you know are bad.

"Hey, this query will be fine on big boards as long as the big board has a big server".

Bad assumption. Bad logic.

Hi Rimi,

Perhaps you misunderstood me. That's not what I'm implying. What I said is that sometimes less efficient (not bad code vs good code), in terms of system resources, is entirely acceptable when the cost of those additional resources provides benefits that exceed their costs. In other words, it's a balancing act... and one that will be different from site owner to site owner.

I don't really have a position on the unique ID pro/con debate at this point, but I do fully accept the fact that, in the end, the forum software that offers superior SEO functionality out of the box will win the war... and well structured and optimized URL/URI's are a part of that overall scheme.

Share this post


Link to post
Share on other sites

That's not an excuse to write bad queries that you know are bad.

"Hey, this query will be fine on big boards as long as the big board has a big server".

Bad assumption. Bad logic.

This is likely the #1 problem with third party items, some devs think, hey it works great on my board with 20 people online, take that same mod to a site with 2000 users online and BOOM!

I often wish every developer had a busy site to test on, most all of the heavy resource usage tickets we get are due to third party items.

Share this post


Link to post
Share on other sites

What I said is that sometimes less efficient (not bad code vs good code), in terms of system resources, is entirely acceptable when the cost of those additional resources provides benefits that exceed their costs.

So basically what you're saying is that I didn't misunderstand you at all and that your opinion is still terrible.

This is likely the #1 problem with third party items, some devs think, hey it works great on my board with 20 people online, take that same mod to a site with 2000 users online and BOOM!

I often wish every developer had a busy site to test on, most all of the heavy resource usage tickets we get are due to third party items.

Yeah, I completely agree. I've run into this problem myself actually. I've had to write somewhat complicated queries and of course it executes just fine on my board, but then I run an EXPLAIN on it and I'm like "Oman what is this monster that I have created?!".

It's not even a matter of how many users are online. Even database size can be a problem, like if you think you're running a harmless query on the posts table, but it ends up being dastardly when you run that same query that's 100x bigger than the one you tested on. It's something we need to watch out for especially less experienced coders like myself. I try to be careful, but I'm sure I've let some really bad queries slip out into the world at some point...

So yeah, it is never ever ok to release a bad (or slightly inefficient) query when you know it's bad.

Share this post


Link to post
Share on other sites

So basically what you're saying is that I didn't misunderstand you at all and that your opinion is still terrible.

Quite the sharp edge you have. Jeesh. It sounds like you are an aspiring coder. That's great! It's a fantastic field to be in, and if you work hard and focus on the right things, you should have a bright future ahead of you. But listen, you ARE missing the point my friend.

Clearly, everything should be CODED as efficiently as possible. I'm not debating that. I don't think anyone would. It's elementary. However, it should be coded as efficiently as possible FOR THE PURPOSE IT IS INTENDED TO ACHIEVE. No one is arguing with you. You're just not seeing the forest for the trees.

If I choose to utilize large or multiple queries to accomplish a NEED that benefits my site (written as efficiently as possible), such a routine is chosen based on its merits alone. The question that has to be answered: Is the extra overhead worth the benefits it provides? If it is, the code goes in. If it isn't, it doesn't. It's a matter of performing a factual, educated examination based on a cost/benefit analysis. Nothing more, nothing less.

Best wishes. :)

Share this post


Link to post
Share on other sites

Then write it yourself. Don't burden the rest of us.

Rimi,

With all due respect (and I truly mean that), your ego is a bit too big for your britches. You should tone it down a bit. It will serve you much better in life to treat people respectfully rather than going around and insulting them. Though I've not purchased or downloaded any of your handful of simple hooks/extensions you've posted, because none of them suit any need of mine, your behavior on the forum certainly doesn't compel me to want to try any of them in the future. You might carefully consider that others who see you act in this manner might also come to the same conclusion. If you want to sell code, it's best to conduct yourself in a more befitting manner.

That's just my own advice to you. Take it. Leave it. It's entirely your call. ;)

Share this post


Link to post
Share on other sites

This is likely the #1 problem with third party items, some devs think, hey it works great on my board with 20 people online, take that same mod to a site with 2000 users online and BOOM!

I often wish every developer had a busy site to test on, most all of the heavy resource usage tickets we get are due to third party items.

That's a great point, and ultimately, the quality of third party scripts provided in the IPS Marketplace does reflect on IPB as a whole, for better or worse.

Why not provide a sandbox server for this very purpose? Simulate heavy loads, allowing for a virtual stress test on third party scripts. I suppose you could even require them to pass the test for inclusion in the Marketplace, if desired.

Share this post


Link to post
Share on other sites

TSP did not demonstrate inefficiency. I provided two examples of large forums:

http://singletrackworld.com/forum/

http://wordpress.org/support/

... that work just fine.

The excuse for WordPress's forums are "they must be on super expensive servers to make up for the inefficient queries". Disagreed. Everything should be relevant.

And I've said this probably a dozen times:

No one is going to force large forum owners to adopt this URL structure. It should be an "option" for those who want to use it.

Does anyone here object to me using this structure or anyone else who wants to use it?

This isn't an "either or" thing I'm arguing. Nothing wrong with innovation and accommodation.

I'm sorry but you're totally missing the point. Let's take the last query posted by TSP as an example:

0.00025050 | SELECT SQL_NO_CACHE tid, title, title_seo, posts FROM topics WHERE tid=4643328
0.35666400 | SELECT SQL_NO_CACHE tid, title, title_seo, posts FROM topics WHERE title_seo='ranveig-r'

The execution difference is 0,3564135 seconds and if you multiply it for an average of 3000 users online you get a result of 1069,2405 seconds added to the execution time. Convert that time in minutes and you'll get 17,8 additional minutes to retrieve the topic from the DB which surely impacts the site speed and overall performance for visitors too.

Furthermore, based on what you said, if they add the option as you asked to have urls without IDs and have a switch in the ACP when you start a site you'd probably chose the "no IDs" configuration but when your site gets large enough you'll have to switch it back to "urls with IDs". Having to re-index ALL the content because the links changed, apart from a bad SEO impact and the constant 301 redirects, could bring down the whole server (if not handled properly) just like it happened to Neowin when they switched from IPB 2 to 3.

EDIT

That said I'm not saying that I'm totally opposed to your idea, heck I might even use it on my small & non-busy site, but honestly I prefer having the devs focus on more important features (or bug fixes) rather than adding an option known for causing support trouble if not used properly.

Share this post


Link to post
Share on other sites

Rimi,

With all due respect (and I truly mean that), your ego is a bit too big for your britches. You should tone it down a bit. It will serve you much better in life to treat people respectfully rather than going around and insulting them. Though I've not purchased or downloaded any of your handful of simple hooks/extensions you've posted, because none of them suit any need of mine, your behavior on the forum certainly doesn't compel me to want to try any of them in the future. You might carefully consider that others who see you act in this manner might also come to the same conclusion. If you want to sell code, it's best to conduct yourself in a more befitting manner.

That's just my own advice to you. Take it. Leave it. It's entirely your call. ;)

A strawman's argument is a logical fallacy and you're still wrong.

Share this post


Link to post
Share on other sites

for the record (added a title_seo index, over 900000 topics)

SELECT SQL_NO_CACHE tid, title, title_seo, posts FROM ibf_topics WHERE title_seo = 'windows-phone-passes-iphone-in-another-market'

Query took 0.0005 sec

Share this post


Link to post
Share on other sites

for the record (added a title_seo index, over 900000 topics)

SELECT SQL_NO_CACHE tid, title, title_seo, posts FROM ibf_topics WHERE title_seo = 'windows-phone-passes-iphone-in-another-market'

Query took 0.0005 sec

Have you made some comparisons to queries with ID?

Share this post


Link to post
Share on other sites

By the way, on one of the forum databases I considered to query I noted that half of the topics had no content in title_seo.

For the database I did end up query, I ensured that all of the topics had something in the title_seo-field.

Because if half of the topics does not have an title_seo saved, then I suspect it would be more efficient when testing, but it wouldn't really give an accurate benchmark.

Either way, efficient or non-efficient. I wouldn't use urls without id in our forums. I'm sure I wouldn't mind it being a power setting in initdata.php, but once IPS makes it supported like that, you basically require IPS to support and maintain it forever. I would rather have them spend time on other features.

One should also remember that in the end it's the content itself that should drive new users to your site. While I understand you have to put some effort into SEO, I think some people tend to hope that awesome SEO will suddenly solve all their problems.

On two of the largest forums in Norway we still use regular query IDs and we still get lots of traffic from search engines. There are also regularly made jokes about how the one women community always comes up when you google for something in Norway, whether you're male or female, your google search will always end up there in the end.

Share this post


Link to post
Share on other sites

Have you made some comparisons to queries with ID?


No I haven't yet. I don't think we would use urls without id's either. We do use them for the news on our main page and only add a number when there's a duplicate url

Share this post


Link to post
Share on other sites

You don't take one person's word for it (including mine) that the query result they copy/pasted is engraved in stone.

Not only that, you have to compare both the new query structure proposal to the old, under the same circumstances.

What I plan on doing:

Take a database with 5,000,000 topics and run a script that queries the database. One test using the current query structure and one test using the new query structure. Gradually increasing the queries from 1 per minute until a bottleneck is reached and we can compare the performance of the two.

This is more towards determining the viability of the structure than one person doing a query and saying "Ah ha! This one query took this long! See!"

Share this post


Link to post
Share on other sites

Let's back up a step, ladies and gentlemen.

Spirited debate is welcome, as long as it remains polite, factual, and civil.

The last page or so of this topic has degraded from that point.

As Aiwa noted, let's get back on track, and keep it civil, please.

Thank you.

Share this post


Link to post
Share on other sites

  • Recently Browsing   0 members

    No registered users viewing this page.

×