我对在其核心我可以运行在内存中的对象还是需要看Serializeing到DB
如
public class Album
{
public ICPN ICPN { get; set; }
public string Title { get; set; }
public string Label { get; set; }
public string PLine { get; set; }
public string CLine { get; set; }
public string Genre { get; set; }
public string SubGenre { get; set; }
public string Artist { get; set; }
public int NumTracks { get; set; }
public int NumVolumes { get; set; }
public IList<ITerms> Terms { get; set; }
}
约4基本实体多线程应用程序工作,我有一个4步骤过程,我使用BlockingCollections生产者/消费者模式来管理这些过程。它是一条生产线,我修改完一个对象的状态后,将一个状态为& enque的副本拷贝到下一个进程队列中,等待下一个进程/任务执行。
我处于这个关键时刻,需要考虑将某些BlockingCollections序列化为数据库,或者我可以在Highend服务器上的管道中使用上述类型的约1000万个对象来运行。
我有一个专用于每个进程的统计信息的队列I.e UI的Timetaken/Success或者我应该看看是否将这些信息与对象一起存储?
速度/效率在这个过程中是临界的。
是否有计算内存需求的任何方式或这是吸吮的情况下,它&看到
更新在这个阶段,我不需要持续崩溃等数据作为元数据对象被修改和writen出到磁盘......即未处理的文件夹/已处理的文件夹
如果你希望对象是持久化的,那么你需要实现一个持久化机制。你可以使用内置的序列化器或类似protobuf-net的东西。存储要求和性能取决于序列化技术。无论服务器有多强大,如果您希望这些对象在服务器重新启动/崩溃后仍然存在,您需要坚持。 – eulerfx
服务器重新启动/崩溃不是问题@这一点..我的问题是,从性能的角度来看,你可以在内存中存储多少负载 – HoopSnake
我不知道你为什么问,而且我怀疑知道这会有助于产生一个实际的,有用的答案。做一些乘法以获得关于基本POCO对象的内存使用的一些非常粗略的想法是相当容易的;如“,我可以同时将数千,数百万或数十亿的这些内容装入内存吗?”但问这样一个问题通常不会产生一个非常有用的答案。 –