我已经尝试了我能想到的一切来提高插入速度。这实际上只是几件事没有改善。
我有大量的标识符(Int64),我需要将它们发送到队列,以便我的多个工作角色可以处理它而不必担心并发性。
我尝试了一个foreach
循环(使用.ToString()
和BitConverter.GetBytes()
):
foreach(long id in ids) {
queue.AddMessage(new CloudQueueMessage(id.ToString() /*BitConverter.GetBytes(id)*/));
}
和一个并行.ForAll<T>()
:
ids.AsParallel().ForAll(id => queue.AddMessage(new CloudMessage(id.ToString())));
来自同一数据中心内的本地和 WorkerRole 的插入最多每秒 5 次,平均每秒 4.73 次。
难道我做错了什么?