• 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?

Jeremy

Well-known member
#1
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.
 

Carlos

Well-known member
#2
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.
 

Jeremy

Well-known member
#3
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.
 

Mike

XenForo developer
Staff member
#4
It's not currently limited. Probably makes sense to at least limit it by last activity.
 

Carlos

Well-known member
#6
Well then, I've made my suggestion since non-limited could get extremely long for really large boards:
http://xenforo.com/community/threads/notable-members-todays-birthdays-tab.51623/
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.
 

Carlos

Well-known member
#11
The general idea is the same as the Who's Online. nofollow it and you get rid of the "1,000 robots reading it"...
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:

jmurrayhead

Well-known member
#12
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?"

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.
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.
 

jmurrayhead

Well-known member
#14
Even on big boards? Okay.
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.
 

Carlos

Well-known member
#15
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.
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.
 

jmurrayhead

Well-known member
#16
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 ammount 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.
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

Well-known member
#17
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.
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.
 

Carlos

Well-known member
#18
Who and how do you determine 'Top 20' users for a specific day? As with any feature, its a trade off.
I said it earlier in this thread: Amount of posts, and amount of likes/points (influence).
Did you have your member list visible?
Yep. But when 1.2 is out, I'm switching from memberlist, to "top users" (1.2 style you see now).
Were you getting exorbitant views to profiles coming from it? Did it cause you plenty of resources?
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.
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.
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.
 

jmurrayhead

Well-known member
#20
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.
Nope. It's one query. One query can get all people whose birthday is today.