Память AppFabric Cache очень интенсивная
Вопрос (ы): я делаю что-то не так? Неправильная настройка конфигурации? Является ли объем использования памяти AppFabric ниже нормальным?
Проблема: я читаю данные из таблицы базы данных SQL в кэш-память AppFabric. Кажется, что AppFabric использует большой объем памяти для довольно маленького объекта, и я не могу понять, почему (я недавно начал использовать ApppFabric, так что я новичок с ним)
Описание: таблица SQL размером около 60 МБ преобразуется в 800 МБ один раз в кеше AppFabric.
Подробности:
Размер данных SQL таблицы, которую я собираюсь загрузить:
Использование неиспользуемой памяти App Fabric:
Конфигурация сервера:
Конфигурация клиента:
Код C #:
public static void ReadPortedNumbers()
{
MobileDataContext mdc = null;
List col;
try
{
mdc = new MobileDataContext(strConnString);
col = (from RN in mdc.tblRoutedNumbers
select Convert(RN)).ToList();
var CacheFactory = new DataCacheFactory();
var myCache = CacheFactory.GetCache("MobileCache");
myCache.Put("PortedNumberCollection", col);
}
catch (Exception E)
{
throw new System.Exception(E.GetType().ToString() + " in BG.Mobile.DAL.ReadPortedNumbers, Message : " + E.Message, E);
}
finally
{
if (mdc != null) mdc.Dispose();
}
}
public static PortedNumberCollection Convert(tblRoutedNumber DataClass)
{
try
{
PortedNumberCollection BusinessClass = new PortedNumberCollection();
BusinessClass.PortedID = DataClass.PortedID;
BusinessClass.MSISDN = DataClass.MSISDN;
BusinessClass.RoutingLabel = DataClass.RoutingLabel;
BusinessClass.RouteAction = DataClass.RouteAction;
return BusinessClass;
}
catch (Exception E)
{
throw new System.Exception(E.GetType().ToString() + " in BG.Bus.Mobile.DALConvertor.Convert(tblRoutedNumber DataClass): " + E.Message);
}
}
[DataContract][Serializable]
public class PortedNumberCollection
{
[DataMember]
public Int64 PortedID;
[DataMember]
public string MSISDN;
[DataMember]
public string RoutingLabel;
[DataMember]
public string RouteAction;
}
Использование памяти AppFabric после загрузки данных (размещения):