У меня есть служба Windows, на которой размещается служба WCF, запущенная на машине A. Он извлекает объекты из машины B, запускающей Appfabric, где хранятся фактические объекты. Машина B имеет 2 региона, «Статьи» и «TestArticles». Живое приложение использует статьи, и моя тестовая программа использует TestArticles.Appfabric странное поведение
Он работает в течение шести месяцев без проблем, но теперь прямое приложение начинает возвращать null для некоторых объектов, пока служба не перезагрузится, и все объекты будут кэшироваться снова. Затем он длится несколько часов, а null возвращается снова. Выселение и TTL не используются, поэтому объекты должны оставаться там навсегда. Единственное, что я могу придумать, это то, что память сервера Appfabric почти заполнена. Только 43 МБ 12 ГБ бесплатно!
Так что я хотел бы знать, что происходит, когда память сервера Appfabric заполнена, и я пытаюсь кэшировать больше объектов в области TestArticles. Они преуспевают, но Appfabric выбрасывает объекты из статей тогда?
Спасибо за ваш ответ ... Теперь я добавил некоторые показатели производительности, чтобы узнать, как часто выселяются объекты. Знаете ли вы, как я могу обновлять существующие объекты в кеше без приложения, создавая новую версию? Это позволяет использовать память как можно ниже. – Laurijssen
[Путь метода] (https://msdn.microsoft.com/en-us/library/ff424971%28v=azure.10%29.aspx) называется «добавлять или заменять объект в кеше», но я ожидал бы замены в этом контексте, чтобы означать «удалить старую версию и добавить новую версию», а не обновление на месте. – stuartd
Да, это говорит о том, что, тем не менее, использование памяти продолжает увеличиваться каждый раз, когда я вызываю ставку на существующий объект. – Laurijssen