1. This site uses cookies. By continuing to use this site, you are agreeing to our use of cookies. Learn More.

Members List: Today's Birthdays... large number?

Discussion in 'General XenForo Discussion and Feedback' started by Jeremy, Jun 3, 2013.

  1. Jeremy

    Jeremy XenForo Moderator Staff Member

    If you have a large number of birthday's on a specific day (as of writing this, there's 20 listed on the members list), how does it handle them. Will it continually expand the side bar or will it open up a dedicated page with a "View All..." link? Cause I'm thinking there might be a suggestion depending on Mike's answer.
  2. Carlos

    Carlos Well-Known Member

    I'm thinking this will be just for the top 5 or 10 [by criteria such as most likes and/or posts]. The whole point of removing the whole memberlist is so that spammers don't go through the list and "looking" at it. Or the robots [robot.txt] looking at it.

    The other point is to reduce server queries, too.
  3. Jeremy

    Jeremy XenForo Moderator Staff Member

    If its limiting to the first X its not a true indication of today's birthday's (the sidebar isn't randomized and is listed in the order the old member list was). If that's the case, I have a suggestion ready to be posted.
    Shelley likes this.
  4. Mike

    Mike XenForo Developer Staff Member

    It's not currently limited. Probably makes sense to at least limit it by last activity.
  5. Jeremy

    Jeremy XenForo Moderator Staff Member

  6. Carlos

    Carlos Well-Known Member

    That's a bad idea... As I said: The member section was re-done to reduce spam, and server resources. Because for every pageload of memberlist, you're putting 1 or 2 more queries per load.

    So, if you have 1,000 birthdays that day, and you've got 1,000 robots looking at each page, you're going to need to upgrade.

    1,000 is like saying "x for this number." So, replace 1,000 with the amount of visitors/members that you have on your board.
  7. Chris D

    Chris D XenForo Developer Staff Member

    You've lost me, Carlos.
  8. Jeremy

    Jeremy XenForo Moderator Staff Member

    I'm with Chris... But @Carlos, all that needs done is a nofollow as is done with the Who's Online.
  9. Carlos

    Carlos Well-Known Member

    He's asking for "long list" for his big board. Pretend you have 12,000 birthdays THAT day.
  10. Jeremy

    Jeremy XenForo Moderator Staff Member

    The general idea is the same as the Who's Online. nofollow it and you get rid of the "1,000 robots reading it"...
  11. Carlos

    Carlos Well-Known Member

    I know what you talking about, man. I see birthday list as a "useless feature," just like the birthday box on vB3/vB4. I don't remember looking at birthday list on every visit - I understand that there are people who want to know who's birthday it is today, but only a small number of people will use it. Think about this question: "Do I want to risk server resources even if a small number of people look at this list or using it?" This is more about useability, against server resources.

    The member list is useful in many ways than just fighting spam. Users like to know how many users are posting, on a daily basis, and are there influential posters, and whatnot.

    I use the "Online Now" box to see if users are viewing threads, and not a bunch of robots trying to look at registration page, a bunch of bots looking at memberlist (as I've said thus far), and then looking at what others are doing.
    Last edited: Jun 3, 2013
  12. jmurrayhead

    jmurrayhead Well-Known Member

    A simple select statement to get a list of users whose birthday is today is hardly a server intensive task. RDBMS's are made to handle much more complex queries in an efficient manner.
    Jeremy likes this.
  13. Carlos

    Carlos Well-Known Member

    Even on big boards? Okay.
  14. jmurrayhead

    jmurrayhead Well-Known Member

    First off, big boards likely have the hardware to support it. But even then, it's a simple task. In my office, we have databases several GB in size with millions of records. We can do simple queries like this in mere milliseconds with 1,000 + people hitting our system.
    Jeremy likes this.
  15. Carlos

    Carlos Well-Known Member

    I understand that big boards can handle traffic, but again, my point is usebility against server resources. If you have 120,000 members, and of that amount outputs 12,000 birthdays in a single day, and spammers see it - you can expect to have 200,000 trying to see all the profiles. Let's not forget search engines.

    That is, if you allow for "long list" even if you click "view more." But, hey, if you want to turn it on.... Fine. I'd rather have the top 20 users' birthday. To save money.
  16. jmurrayhead

    jmurrayhead Well-Known Member

    Even so, typically some sort of caching would be in place, especially for data that won't change all day. So, instead of tons and tons of queries to fetch that data, it will be pulled from cache, eliminating much of any resource usage.
    Jeremy likes this.
  17. Jeremy

    Jeremy XenForo Moderator Staff Member

    Who and how do you determine 'Top 20' users for a specific day? As with any feature, its a trade off. Did you have your member list visible? Were you getting exorbitant views to profiles coming from it? Did it cause you plenty of resources?

    You said it yourself, there's a small number of people who may use it, so you wouldn't kill resources by making a simple query. If you nofollow it, spiders should ignore it and further reduce the queries.
    jmurrayhead likes this.
  18. Carlos

    Carlos Well-Known Member

    I said it earlier in this thread: Amount of posts, and amount of likes/points (influence).
    Yep. But when 1.2 is out, I'm switching from memberlist, to "top users" (1.2 style you see now).
    Out of nowhere, more and more spammers are registering to my site, and more and more are viewing the profiles, meaning that spammers found bad links in my members' profiles. I've been proactively banning these spammers, and getting rid of the link spam so that it goes back to normal.

    For 5,000 members, 8,000 posts, 3,000 threads, I shouldn't have 1 gig being used. But it is eating up that much.
    It may be a simple query, you're forgetting that you're loading 1 more for each member that you load.

    See it this way. Even cached:

    Search for birthday:

    20 users = 20 queries
    Click "view more" you add 20 more, right? That's 40 thus far. If you keep going, 60, 80, 100, 120, etc.
    Every time you're fetching, you're adding 20 each time.

    Like I said, a small number only use it - when I said this, I meant your members (and/or real visitors). Not spammers. Not bots. This trade-off is bad, because you're just wasting queries.
  19. xf_phantom

    xf_phantom Well-Known Member

    You can explain the logic here?:D
    Does a threadpage with 15 posts per page includes more then 30 queries for you?
    15 posts
    + 15 users
    + 1 for thread
    + 1 for forum
    Jeremy and jmurrayhead like this.
  20. jmurrayhead

    jmurrayhead Well-Known Member

    Nope. It's one query. One query can get all people whose birthday is today.
    Jeremy likes this.

Share This Page