Эксперимент 4: фиксированное пороговое значение
Наш последний эксперимент был посвящен еще более детальному изучению Политики с фиксированным пороговым значением. Целью являлось экспериментальное определение оптимального порогового значения в условиях нашего тестового набора. Мы хотели лучше понять эту политику принятия решений, а также подход рационализации согласованности в целом. В этом эксперименте операции обновления были равномерно распределены для всех продуктов, данные о которых содержались в базе данных.
Рис. 8. Расходы времени выполнения (в долларах) при изменении порогового значения
На рис. 8 приведены денежные показатели стоимости в расчете на 1000 транзакций при использовании Политики с фиксированным пороговым значением над данными категорий A, B и C. Мы изменяли пороговое значение. Поскольку это пороговое значение несущественно для данных категорий A и C, стоимость транзакций над такими данными остается неизменной. Расходы времени выполнения для данных категории B увеличиваются при возрастании порогового значения. Чем выше пороговое значение, тем раньше эта политика переключится на уровень строгой согласованности, который вызывает значительно больше накладных расходов (например, из-за потребности в блокировках и посылки большего числа сообщений).
Рис. 9. Продажи сверх имеющихся запасов при изменении порогового значения
На рис. 9 показан объем продаж сверх имеющихся запасов в расчете на 1000 транзакций. В нашей ситуации нагрузочного тестирования при работе с данными категории C образуется 7 продаж сверх имеющихся запасов на 1000 транзакций. Для данных категории A, конечно, такие продажи отсутствуют, поскольку данные всегда обновляются в режиме строгой согласованности. При работе с данными категории B чем выше пороговое значение, тем меньше продаж сверх наличных запасов. Так происходит из-за того, что Политика с фиксированным пороговым значением раньше переключается на уровень строгой согласованности. Начиная с порогового значения T = 14, продажи сверх имеющихся запасов исчезают.
Рис. 10. Общая стоимость транзакции при изменении порогового значения
На рис. 10 показана общая стоимость транзакции для данных категорий A, C и B при применении Политики с фиксированным пороговым значением. Общая стоимость является суммой расходов времени выполнения и расходов, связанных с продажей товаров сверх имеющихся запасов. При использовании Политики с фиксированным пороговым значением минимальная стоимость достигается при значении порога T = 12. При этом пороговом значении стоимость транзакции над данными категорий A и C оказывается существенно более высокой.
Эти цифры хорошо демонстрируют то, что адаптация системы во время выполнения позволяет эффективно изменять уровень согласованности от сессионной согласованности до сериализуемости.