我设置了TimescaleDB和Postgresql来测试时间序列数据的性能。我已经成功设置了超级表。我测试了从C#程序插入的2M行。但是TimescaleDB的过程比纯Postgresql慢得多。即使使用TimescaleDB,我的程序在插入数百条记录后也没有响应。我不知道为什么谁能给我一个提示?还是我错过了什么?
答案 0 :(得分:2)
我们将需要更多信息,以查明您遇到的问题。如果在插入几百条记录后TimescaleDB完全没有响应,则听起来好像在数据库级别或系统级别肯定配置错误。客户只是在超时,还是伴随着某种错误?如果进程挂起,您是否对系统在这段时间内的运行情况有任何见解(例如,是否有很多IO,CPU是否已用完?)。发生这种情况时,您是否在争用中看到任何锁定(请参阅Postgres Lock Monitoring?最好查看您的数据模型以及如何创建TimescaleDB超表。
此外,请注意,由于行数少和单行插入数少,TimescaleDB不一定会胜过Postgres。当您达到数千万行或更多行并分批插入时,TimescaleDB会发光。有关更多信息,请参见PostgreSQL vs TimescaleDB Blog Post。