能贴一下完整的代码吗? 感觉是在多个线程中使用了同一个DBConnection导致的问题。
string script = String.Format("tableInsert{{loadTable('{0}', '{1}')}}", klineDb, tableName);
script = String.Format("tableInsert{{{0}}}", KlineTableName);
每次收到bar 后会有两个操作,插入分区表,插入流数据.在1000个代码时,峰值约为400~600/s 数据库服务会直接崩溃退出
现在的解决方案
list存储接收的bar
开线程 批量上传接收的bar表 sleep(0.5s)
void dealTask()
{
while(!isStop)
{
lock (bars)
{
if (bars.Count > 0)
{
save_table(klineDb, tableName, bars);
}
bars.Clear();
}
System.Threading.Thread.Sleep(500);
}
}
但是直接崩溃确实让人很没有安全感