我无法在我的应用程序(C# 应用程序)中使用并行线程,因为每个 msmq msg 都是 sql 语句的数据
C# 应用程序使用 msmq 中的消息,然后对其进行处理。
我正在使用 msg.Recoverable=true,以防止服务器断电时数据丢失。目前,它是事务性消息。
msmq 消息(sql 语句)必须按顺序处理(FIFO)
使用多个线程来消费是一个禁忌,因为无法控制哪个线程将消费并执行哪个 sql 语句。
目前,对于 490 KB 的 msmq 消息,Receive() 的速度大约为 0.016 -0.032 秒,这使得大约 30-50 Tx/秒,这是不可接受的。
目前,MSMQ接收是整个应用的瓶颈
服务器在 Windows Server 2008 R2 上
并且应用程序正在从本地服务器 MSMQ 获取(接收()),而不是远程