We're aware that some users are experiencing technical issues which the team are working to resolve. See the Community Noticeboard for more info. Thank you for your patience.
📨 Have you signed up to the Forum's new Email Digest yet? Get a selection of trending threads sent straight to your inbox daily, weekly or monthly!

Last 300 Posts

Options
The Last 300 posts search is still reeking havoc on the servers I'm afraid. Even after the server upgrade, it seems the database struggles whenever it needs to search more than 3,000,000. We think this is one of the reasons we're still getting database errors.

Therefore, hopefully this week, to help we're going to take

The MS Arms, DT, Funny Money, Forum Policy out of the Last 300 posts search (and the unregistered users search) and see if it works.

If that does make a difference, but people are missing the search, we'll see if we can build a 'Last 300 MS Arms' specific search which searches all those boards and will be placed in the resource bar in those boards.

In the meantime can I ask regulars please to use this function sparingly... it'd really help.

Martin
Martin Lewis, Money Saving Expert.
Please note, answers don't constitute financial advice, it is based on generalised journalistic research. Always ensure any decision is made with regards to your own individual circumstance.
Don't miss out on urgent MoneySaving, get my weekly e-mail at www.moneysavingexpert.com/tips.
Debt-Free Wannabee Official Nerd Club: (Honorary) Members number 000
«13

Comments

  • steve_r123
    steve_r123 Posts: 512 Forumite
    The currently active users list at the bottom of the main forum page is usually a resource hog on these vBulletin forums. Just a suggestion of making that visable to administrators only and see if that helps? :confused:
  • sra
    sra Posts: 4,676 Forumite
    Part of the Furniture 1,000 Posts Combo Breaker Photogenic
    I didn't realize people still used the 300 posts thingy.

    It was great in the old Yabb days to have something like that where you could check that kind of list a few times a day and effectively read every post on the whole site, but a forum of the this size who'd want to do that?

    I wonder if it's a very small number of people using it a lot these days :confused:
  • Hi folks,

    We're continuing to work on the new server and the search function but part of our work will require us to disable the site search for about an hour. We're expecting to be able to restore it between 5:30 and 6pm this evening.

    Apologies for any inconvenience.


    Webby
  • tiff
    tiff Posts: 6,608 Forumite
    Part of the Furniture Combo Breaker Savvy Shopper!
    So if you're looking for the "new posts" link you wont find it because the search function has been taken offline.
    “A budget is telling your money where to go instead of wondering where it went.” - Dave Ramsey
  • jamesd
    jamesd Posts: 26,103 Forumite
    Part of the Furniture 10,000 Posts Name Dropper
    Martin. Webby, cutting those out should help. You might also put in:

    GET_LOCK('search',10); whatever search does; RELEASE_LOCK('search');

    to limit the server to one search at a time, with an orderly queue building up. You could use different strings if you think you can handle more than one concurrent search, perhaps one per web server.

    You may also find that ALTER TABLE ... ORDER BY thread, post helps, if the posts have those fields and are normally stored in a MyISAM table in the order in which they are added. Doing the sort will be very slow but it should reduce disk seeks from crawlers and search by putting all posts in a retrieved thread in about the same physical position on disk. Don't even think of doing this on a live server - it'll take more time than OPTIMIZE TABLE.

    Remember that the official advice from MySQL in this situation is "stop using MYSQL's built-in search, because you're chasing a performance target you will never be able to reliably reach if you continue to grow". If necessary, sponsor the development of a search using Sphinx for the message board software, it'll probably be cheaper than chasing performance with MySQL search.

    For the current state of play, see the EuroOSCON 2006 presentation High Performance Full Text Search for Database Content by Peter Zaitsev and Vadim Tkachenko.

    Hiring Peter and/or Vadim wouldn't be a bad idea if you want performance advice. Peter is fairly local to you and very capable.

    Wikipedia abandoned MySQL search when it was using more than half the power of four database servers and still slow, at about 1000 Alexa worldwide rank. The index size was around 2.5GB at that point. Switched to Lucene, but Sphinx would be better for most places these days, unless you need support for lots of languages, as Wikipedia does. Lucene has stemming support for more languages.

    Copying the search index to /dev/nul before starting up the database server can help, so can preloading the search index. Really, to do decently well, you need enough RAM to hold the whole text database and the whole search index in RAM. But you'll still fail to get decent performance long term, it's just a reasonable way to do it until you finally give up. Beats throwing human time at the problem, since RAM is cheaper than humans. Alternatively you can do what you're doing now and cut the searched text size, possibly splitting search across multiple servers each handling part of the text.

    You will fail, and spend more and more of your time and resources babysitting search, if you continue to use MySQL's fulltext search. Sorry, that's just how it is. It's a very convenient and fine solution for low load and modest text volume, but you're no longer low load with modest text volume. Start doing something else now instead of a continuing with the MySQL fulltext solution which will never work for you again for more than short periods.
  • Thanks for the input jamesd. As it happens, we're working towards a better search solution, most likely using Sphinx and we're hoping to get it going ASAP. It's just a matter of having the resources available to do it and I've only got a couple of humans to throw at things as it is.

    You sound as though you've got some expertise in this area so please feel free to comment further. Technical suggestions are always welcome.


    Cheers,

    Webby
  • jamesd
    jamesd Posts: 26,103 Forumite
    Part of the Furniture 10,000 Posts Name Dropper
    You're on the right track, so good luck with a quick Sphinx implementation. If you can it would be helpful to say more about the comparative performance of the two solutions once you have the Sphinx one in place. It's an interesting area for quite a few people and knowing that it's effective will help to persuade others to do the right thing as well.
  • alchemista
    alchemista Posts: 1,305 Forumite
    I do production website operations support for a career (performance issues, software, etc). The #1 rule of diagnosing performance issues and optimizing performance is to profile the app first before just chasing down problems that "you know have to be it".

    Have you profiled the app to find out where the problem is coming from using preferrably a software level profiler, otherwise having to resort to database level stats? Often people get too stuck on focusing on the database, when it's really a higher level app design issue.

    I sent an email previously asking if you were looking for short term help on this, but got the automated reply. I hope it's fixed soon, I love the site!
  • jamesd
    jamesd Posts: 26,103 Forumite
    Part of the Furniture 10,000 Posts Name Dropper
    alchemista, in the past the search has been turned off and returned performance to reasonable levels, so it's been fairly well established that it is a problem, besides it being known as a generic issue for larger search corpus sizes with the fulltext search built in to MySQL.

    On the general application side, if I recall correctly, they have already added multiple page builders to handle the traffic level.
  • alchemista
    alchemista Posts: 1,305 Forumite
    jamesd wrote:
    alchemista, in the past the search has been turned off and returned performance to reasonable levels, so it's been fairly well established that it is a problem, besides it being known as a generic issue for larger search corpus sizes with the fulltext search built in to MySQL.

    On the general application side, if I recall correctly, they have already added multiple page builders to handle the traffic level.

    That's good evidence, when you say reasonable levels is it acceptable/fast? The search has always been dysfunctional on this site, probably my only complaint since it will often not even show results that you know match the search.

    Do you have any other actual profiling output (be it database/app/etc) to pinpoint where the CPU and I/O time is being spent? Often the problem is much simpler once you have that, you save yourself jumping to conclusions, and you have evidence of what's really wrong. You also gain a better understanding of how the system operates under load so that you can make higher level design decisions.
This discussion has been closed.
Meet your Ambassadors

🚀 Getting Started

Hi new member!

Our Getting Started Guide will help you get the most out of the Forum

Categories

  • All Categories
  • 350.9K Banking & Borrowing
  • 253.1K Reduce Debt & Boost Income
  • 453.5K Spending & Discounts
  • 243.9K Work, Benefits & Business
  • 598.8K Mortgages, Homes & Bills
  • 176.9K Life & Family
  • 257.2K Travel & Transport
  • 1.5M Hobbies & Leisure
  • 16.1K Discuss & Feedback
  • 37.6K Read-Only Boards

Is this how you want to be seen?

We see you are using a default avatar. It takes only a few seconds to pick a picture.