Просматривая все параметры python
, я обнаружил, что python содержит параметр «[включает] рандомизацию хэша, так что значения __hash__()
объектов str, bytes и datetime «приправлены» непредсказуемым случайным значением. Хотя они остаются постоянными в пределах отдельного процесса Python, они непредсказуемы между повторными вызовами Python». (источник).
Официальные документы ссылаются на этот документ http://www.ocert.org/advisories/ocert-2011-003.html, который должен предоставить дополнительную информацию, однако он не предоставляет никакой информации о том, как выглядят такие «созданные HTTP-запросы». Все релевантные ссылки на сайте мертвы. Я знаю, что это можно исправить, вызвав python -R
, однако меня больше интересуют подробности.
Как один HTTP-запрос может на несколько часов полностью загрузить ЦП сервера и как рандомизация хеш-значения может это исправить? Это создает какой-то мертвый замок? (Я знаю, что HTTP-запрос может занять много времени, если скрипт сломан (бесконечный цикл for/while, goto
s) или выполняет очень дорогостоящую задачу, но я предполагаю, что это не так).