Replies

Feb 28, 2022 4 years ago Official
Keith
is sweet
User Avatar
Eradication

👋 Hello everyone! Wild that we're almost in March... 🙃

I'm tracking multiple problems on the site that seem to come from the same place, and one that will only continue to get worse as time progresses.

We let players create 100+ pets which is great, and allows for creativity and characterization. Unfortunately, we're seeing the N+1 problem in a lot of these queries. In simple terms, that means that we're fetching an increasing and increasing amount of data on pages (think: training center, pet treasure, anywhere that we list your pets out for you, especially in a dropdown).

An example: Fetch all pets to display in "use item" dropdown → fetch minion information for pet → fetch books read information for pet → fetch battle status for pet → fetch treasure count for pet to see if they're over limit → fetching treasure count automatically fetches item information for each treasure item → etc

We cache as many separate pieces of these queries, and the total response, to the best of our ability but the query still has to run at least once when you first go to the page. We "warm up" the cache with your information as you take your first trip around the site for the day, and so those initial queries are going to be painful and slow, especially as you get more and more pets.

Obviously players with 100+ pets are some of our most passionate and engaged players, so we want to make sure that any changes doesn't hurt y'all, but makes the site actually playable.

So I'm proposing a pet farm (or some similar idea / name!). You can have 100 active pets at a time, that show up in dropdowns around the site, and any additional pets are on your farm, and you can move pets on / off the farm with a simple click, and no time limit. Think of it like "favorite pets", but just as large of a category as it seems like we can make without slowing down or crashing the site for folks with lots of pets.

Let me know what you think about this idea, or if you've got any other ideas that could lead to the same optimizations.

Update I posted this in another post here to clarify!

Quote

My (vague, since I don&;t want to propose anything too far down the road anymore) idea is that on any page that has a list of pets (so the stats page, for example) would just limit your &quot;team&quot; of pets, which you choose yourself and put any ones you don&;t need / want loading on those pages into the &;farm&;.</p>
<p>You&;d still be able to see all of your pets in the farm and take action on them there, basically the same things you&;d do from your pet page (description, treasure, etc) without them all loading around the entire site.</p>
<p>Places where you need to decide on a pet (typically in a dropdown, or a list) would only show from your non-farm pets.

💖 ✨ 🤗

Feb 28, 2022 4 years ago Official
Keith
is sweet
User Avatar
Eradication

For those of you with less than 100 pets, but still want a cleaner "option" choice when seeing pets, yes you could move all but one to the farm theoretically!

💖 ✨ 🤗

Feb 28, 2022 4 years ago Official
Keith
is sweet
User Avatar
Eradication

Quote by ColdDragon
As others have said, I&;d like to know how limited your interactions with pets on the farm would be. I currently struggle to load the battle stats page unless there are &lt;150 people online and I have less than half of the 100 pet limited discussed. I&;m open to this if it means the site will work again for me. Just need a bit more info first.

Ohhhhh, that is really helpful, thank you! I'm tracking all of the pages on the site that make the ridiculous queries and found that most of the time 100 pets was the sweet spot where it'd still load. I'll probably ping you and ask if it's okay for me to take a benchmark of your account loading the battle stats page, since I imagine that is a HORRIFIC use of N+1 queries.

My (vague, since I don't want to propose anything too far down the road anymore) idea is that on any page that has a list of pets (so the stats page, for example) would just limit your "team" of pets, which you choose yourself and put any ones you don't need / want loading on those pages into the 'farm'.

You'd still be able to see all of your pets in the farm and take action on them there, basically the same things you'd do from your pet page (description, treasure, etc) without them all loading around the entire site.

Places where you need to decide on a pet (typically in a dropdown, or a list) would only show from your non-farm pets.

💖 ✨ 🤗

Feb 28, 2022 4 years ago Official
Keith
is sweet
User Avatar
Eradication

Quote by SlashSlashX
I can see the farm being a good solution to the problem. I keep most of mine in the various Inns around the site so a location where they can live without having to put them into the inns every few days would be very welcome.
There&;s a lot of potential for the kind of farms players can create and where they&;re located in the world of Subeta. Farm or home. Mansion maybe? It would also allow areas such as the Home Appliances to have an update, new purpose and maybe some stories if you decide to go in that direction.
I don&;t mean anything like the house decorations you can do on other sites. More like how the toys work. You select the option to place furniture in the farm and the pets happiness goes up. You can place multiple pieces of furniture much as you can play with multiple toys.
I&;m curious to see where this idea goes. :)

Ohhh I love the idea of the farm also being a place where the pets there are taken care of (fed & played with) and maybe even down the line letting you choose how those things happen. That way you don't need to worry about adding them to the farm.

I don't mind losing the sP sink from keeping your pet in the inn tbh, and like this much better from a friendlyness point of view!

💖 ✨ 🤗

Feb 28, 2022 4 years ago Official
Keith
is sweet
User Avatar
Eradication

Quote by Luck
Would it be possible to make it so you can select which pets to show up on a list? For example I read to only two pets. So enabling only those two pets to show up when an item has a &quot;read to&quot; option. That would also make accidental clicks not a thing.</p>
<p>Otherwise I don&;t oppose whatever else this is (I have way less than 100 pets so I&;m not terribly affected)

Maybe somewhere down the road, but I get nervous even thinking of the complexity 💀

💖 ✨ 🤗

Feb 28, 2022 4 years ago Official
Keith
is sweet
User Avatar
Eradication

Hmmm (and this is me spitballing here, trying to be very conscious of saying that!) what if pets in the farm/den (love that name !) still trained automatically in the background but at a much slower pace than putting them into the training center? Maybe instead of earning stats, they'd earn a slow but steady amount of XP over time. That way folks who don't want their pets getting stats can choose (via XP) what to get, and there isn't wasted time for any pets.

Or do you put all of your pets into training each time it's available?

From a writing perspective, imagining the pets running drills with each other or something ;)

💖 ✨ 🤗

Feb 28, 2022 4 years ago Official
Keith
is sweet
User Avatar
Eradication

Do you just run down the jobs page and collect the income from everyone? Is there anything else that you've got to do to 'keep them active' or anything?

If not, I wonder if it just... automatically collecting the pay while they're in the den, or something similar to that?

I want to basically be a place that you put pets that you want out of sight / out of mind for most of your browsing around the site, but to not be.... dead.

💖 ✨ 🤗

Feb 28, 2022 4 years ago Official
Keith
is sweet
User Avatar
Eradication

Quote by Chrysariel
I have 101 pets, and one of my goals is to win the spotlight for each pet. I really wish I could win more than once, after entirely re-doing some pet&;s profiles with new pets. Will that ever be an option? Anyway, I have 30 something pets in the queue for Spotlight at any given time. How would being on this &;farm&; affect that? I would not mind putting the pets on the farm that I&;m not trying to increase intelligence or working on their profiles or whatever. But I also want to make sure I have easy access. Also, something is still broken for me where I can&;t battle or do anything through the job agency, like collect the pet&;s pay. But when that is fixed, will we still be able to collect pay for the pets on the farm too without having to move them in and out of the farm every day? There was talk at making it really easy to do this by one click and getting all the pets done at once. Even when it worked, doing the pets individually was a real pain and I kept losing my place and doing many twice.

So, you're talking about the exact problem this is attempting to resolve! "Something is broken for me where I can't battle or do anything through the job agency" - That is the site attempting (and failing) to get all of the information about your pets to display.

💖 ✨ 🤗

Feb 28, 2022 4 years ago Official
Keith
is sweet
User Avatar
Eradication

Quote by Chrysariel
I don&;t know what the problem is. I can&;t do an account search either. It&;s really frustrating and I&;ve written tickets and staff has tried many things but they finally came down to saying when the site completely gets on the new subeta I should be able to do all that again. Before Thanksgiving I had no problem but after, nothing. Maybe this is the answer, but other people with more pets than me are able to still do everything.

It's complicated, and I hope I can do a good enough job of explaining, but it's a combination of the number of pets, and the amount of data associated with those pets.

On the account search page for example, it's searching all of those locations, and if you have more data there, it'll take longer (or just fail) to load. Examples there are it needs to validate if the item is in your wardrobe (so searches all of your wardrobe items), in a collection, etc. As you have more and more things in those places, it takes longer for the database to search for your specific data.

So if you have a lot of treasure items, minions, books read, training, battle history, etc for 40 pets, you're going to have a harder time loading those pages than someone who has only 120 pets but barely any data associated with them.

I hope that makes sense, and it's true that a lot of this hinges on moving these queries over to the site new site where they're optimized more from day 1, but also making choices like this one to reduce the amount of overall data coming back regardless.

🤞 We can make some improvements for you here, it is really frustrating for me to see that the people who've put the most into the site are the ones most slowed down and lagged by it :(

💖 ✨ 🤗

Feb 28, 2022 4 years ago Official
Keith
is sweet
User Avatar
Eradication

Nice try getting that into this thread ;) I've got that on my list, and we're going to get those items out. You'll be able to complete the collection, I promise!

💖 ✨ 🤗

Please log in to reply to this topic.