Technical Maintenance on Saturday, December 7, between 09:00 and 12:00 UTC. The site will be unavailable during that time.
Interested in advertising on Derpibooru? Click here for information!
Ministry of Image - Fanfiction Printing

Help fund the $15 daily operational cost of Derpibooru - support us financially!

Description

Anyone else having this issue?

artist needed31281 safe2268385 edit180767 edited screencap95589 screencap302488 fluttershy269178 trixie81914 twilight sparkle371420 pegasus537043 pony1701005 slowpoke (pokémon)127 unicorn581980 derpibooru8154 g42127348 adblock6 butterfly wings936 button-up shirt649 cape15545 caption26738 clothes678598 female1909984 flying58720 google401 google chrome409 gritted teeth20683 image macro40538 impact font1993 jeans7268 looking at you283064 magic wand956 makeup45941 mare806668 meme96771 meta18860 nervous9324 open mouth257129 pants24984 pills487 pokémon11486 shirt45068 slowpoke343 smiling432019 space6909 spread wings105778 tab humor44 url209 vulgar26240 wings249923 youtube3300

Comments

Syntax quick reference: **bold** *italic* ||hide text|| `code` __underline__ ~~strike~~ ^sup^ %sub%

Detailed syntax guide

Carcer
Bronze Bit -
Happy Derpy! -
A Perfectly Normal Pony - <Carcer> "Officer, unless I threatened to **** him in the ass, I don't believe I could have reasonably expected him to stop using my website."
Since the Beginning  - Posted the very first image. Indexes start at zero!

Inexplicably in power
Like Clover says in our most recent newspost, the pagination system is the major cause of performance issues with the site. Basically, the thing is that mongodb cannot do counts efficiently - and the pagination system we were using requires the system to check the number of images in a given collection to work out how many page numbers to show and where the “last page” button should be pointing. Every time someone looked at any gallery page on the site, the system went and one-by-one counted basically every image in the database the met the filtering/search restrictions for that user to work out where the last page would be.
 
When we disabled that system, our average response times for web requests fell from almost two seconds to less than half a second, as can be seen in the following graph:
 
full
 
This isn’t a permanent thing and we recognise it’s not the epitome of usability at the moment. We either need to come up with a more efficient way of doing what it used to do, or find a database system that has efficient counting using indexes.