Sharding и управление очень занятой переменной

Попробуйте ускоритель WMI:

$class = ([wmi] '\root\cimv2\power:Win32_PowerSettingDataIndex.InstanceID="Microsoft:PowerSettingDataIndex\\{8c5e7fda-e8bf-4a96-9a85-a6e23a8c635c}\\DC\\{5ca83367-6e45-459f-a27b-476b1d01c936}"')
$class.SettingIndexValue = 0
$class.Put()
1
задан David Underhill 27 July 2010 в 12:29
поделиться

1 ответ

Как часто ожидается запуск / завершение игры? Если ответ определенно меньше 5 в секунду, тогда просто используйте одну сущность для представления пула и используйте транзакции для атомарного получения и обновления его при запуске и завершении игры.

Если вы действительно ожидаете, что так много клиентов будут совместно использовать один пул , что он будет обновляться с постоянной скоростью более 5 раз в секунду, тогда рассмотрите возможность сегментирования пула на несколько частей. Когда клиент запускает игру, удалите объекты только из одного из осколков. Чтобы проверить, пуст ли сегментированный пул , просто извлеките все сегменты и посмотрите, все ли они пусты. (При изменении шарда вам все равно потребуется использовать транзакцию.)

2
ответ дан 2 September 2019 в 22:41
поделиться