请问大家一些问题,是一个项目过程中的:
项目用的是 pb10.5 ole方式连接sqlserver
SQLCA.lock= 'RC' 事务隔离级别是rc
需要满足能同时有300-500个用户同时提交数据(就是几乎同时)。
提交数据操作涉及到7个表(都是insert)
均是insert ... commit;(也就是每个表插入都是一个事务)
1.如何方法能使得在此同时不会造成所有用户都卡住的情况?(以前有经验在50个用户的时候不会卡住,但是到了200-300就会全部卡住)
2.用什么样的测试方法可以模拟出300-500个用户同时提交数据的情形?
3.假如在此同时,有一个表会出现少量用户 select from where id=‘’(也就是检索一个表中的一行时), 会不会造成堵塞甚至是死锁?
当然 ,咋看起来不会死锁,但是实际情况是:当有7个表有50个左右用户 同时进行select及insert时 就会堵塞地很严重。(仔细检查过了 每个sql语句均有commit)
不知哪里出了问题,在此先谢谢大家的回答!
------解决方案--------------------
等高手来把,MARK下!
2.用什么样的测试方法可以模拟出300-500个用户同时提交数据的情形?
这个可以其他语言中多线程来模拟,比如C#之类的
------解决方案--------------------
用pb10以上版本就可以模拟出来,用多线程来实现
建议把c/s应用改造成多层应用,完全并完美解决你的问题