讨论,多个客户端连接一监听服务程序,客户端数量较多,如何解决数据库连接问题??
讨论,多个客户端连接一监听服务程序,客户端数量较多,如何解决数据库连接问题??
概述:
使用智能终端的无线GPRS传输数据到某电脑的公网IP的某个端口,该电脑有一监听程序监听该端口,使用INDY控件,同时与数据库相连,数据库是SQLSERVER2000。
当监听到有终端连接时,则创建一新线程,并进行数据处理,有可能查询和插入数据到数据库。
那么目前智能终端的数量可能很多,考虑到可能会有1000台终端同时连接到该监听程序并传输数据,连接的时间可能较短,比如每台终端的连接时间在5分钟。
那么问题就出现了,如果该监听程序使用1个adoconnection(既每个线程都有自己的adoquery,都连接该adoconnection),那么我了解到,这样可能会造成数据的阻塞。
但如果每个线程都独立的connection,那么数据库连接就要1000个,考虑到正版sqlserver2000的授权用户不可能买这么多,所以应该怎样处理呢?
我也有个想法,就是多个程序监听多个端口(终端可指定端口),每个程序1个connection连接数据库,每个端口最多连100个,我用10程序来监听,那么连接数据库的数量就是10,这样是否可以?
还是就使用1个连接,因为阻塞的问题好象不是经常出现
或者使用连接池实现,但没做过这种应用。
还请大家多多讨论,看有没什么好的方案!!!!