From my side it looks like there was a big performance improvement. Any feedback you guys have would be appreciated at this point.
@IcyLiquid Haven't noticed any changes with page load times, but things seem a bit more stable for now. Also not seeing the 'plural' bug as much as in the last few days.
On mobile, have been signed out once and while I haven't seen a proper 503 I might have had them trigger when the bookmarks failed to load a few times.
Rollers are red, chargers are blue....omae wa mou shindeiru
+1
Psychotic OneThe Lord of No PantsParts UnknownRegistered Userregular
Tonight 7/21 - 7/22 I've seen a couple random log outs. But then again I've had random VPN logouts so I'm not willing to throw out my PC being weird tonight. But would throw it out there all the same.
Hate to bring bad news into the thread after a fix was announced, but I've been getting signed out like mad the last hour or so. Is it just a delay in the update or do I need to clear my mobile cache or something?
When you shard randomly, how does that effect performance? Seems like there should be some sort of dispatcher in charge because random could mean stack everything onto 1 server theoretically.
There are a couple of bits of randomness in there. Which part are you referring to?
// If we're sharding to less servers than we know about, pick some random ones
+ if ($shards < $mapSize) {
+ $shardSlices = array_rand($shardMap, $shards);
+ $shardMap = array_intersect_key($shardMap, array_fill_keys($shardSlices, true));
+ }
Mostly this one. Seems like you could stack the deck even during normal randomness? I'll admit I don't have much experience with memcache and sharding though.
// If we're sharding to less servers than we know about, pick some random ones
if ($shards < $mapSize) {
$shardSlices = array_rand($shardMap, $shards);
$shardMap = array_intersect_key($shardMap, array_fill_keys($shardSlices, true));
}
$mapSize = count($shardMap);
Basically, if the number of shards is lower than the number of servers, we want to pick a random subset of the servers to place shards on. We are picking $numberOfShards items out of the list and placing one shard on each. There's no chance of all the shards being on one server here.
If you're talking about this:
if (!count($servers)) {
// Use random server keys and hope for the best
foreach ($serverList as $server) {
$serverName = $server['host'];
$servers[$serverName] = betterRandomString(6, 'a0');
}
}
Then yes there is a chance that keys will end up in the same place, but this is a fallback in the case where the memcached library has a broken implementation of `getServerByKey()` which prevents it from working, so we just have to make do. Also, anyone who has a broken memcached and is storing large enough data to warrant sharding should probably be hung?
I know people mentioning this is probably getting old, but I've had a 503 today as well as on occasion being unable to pull up my bookmarks in the drop down menu.
Posts
Please "forget" to turn it back on.
Otherwise fine, but figured that was worth bringing up
Thanks for fixing all the things!
once attempting to use the mobile site on my iphone and once on my PC
For those that are interested: https://github.com/vanilla/vanilla/commit/ced075ab393a09617ef4cad673aa17270c966d41
Your comments are like my comments.
//This is a dirty hack, don't judge me!
Or similar has shown up a few times.
Unless I'm reading that wrong.
Mostly this one. Seems like you could stack the deck even during normal randomness? I'll admit I don't have much experience with memcache and sharding though.
Basically, if the number of shards is lower than the number of servers, we want to pick a random subset of the servers to place shards on. We are picking $numberOfShards items out of the list and placing one shard on each. There's no chance of all the shards being on one server here.
If you're talking about this:
Then yes there is a chance that keys will end up in the same place, but this is a fallback in the case where the memcached library has a broken implementation of `getServerByKey()` which prevents it from working, so we just have to make do. Also, anyone who has a broken memcached and is storing large enough data to warrant sharding should probably be hung?
Also ran into some 'over capacity' messages like before. And I also can't post this message...
NNID: Hakkekage
and the gengars who are guiding me" -- W.S. Merwin
steam | Dokkan: 868846562
Everyone gets a number, and the pile of rocks is over here.