用pb实际中间件的功能?有人会吗?

时间:2022-02-21 19:55:03
我们现在一个系统sybase+pb作的,现在大概有100多用户直接连接到数据库,因此用户端明显感觉很慢了,想用pb做一个中间件的东西来减少连接用户的数量,让用户通过中间件来连接数据库,类似weblogic的功能,请问谁会阿?

或者推荐下意见……

31 个解决方案

#1


用中间件真的能够加快速度吗,我非常怀疑.
看看现在开发的三层系统,
同样的硬件配置,我没有见过在局域网运行能够快过2层的.
而且开发独立运行的中间件系统的工作量很大啊.

建议还是升级硬件,优化数据库配置来的实在.

#2


对阿,这是因为有人已经作出了这样的结果。

只是不告诉我们而已。

具研究让服务器慢下来,数据库的连接太多也是很耗资源的,所以对系统优化来说这也是一个方面的。

#3


用SYBASE的EAserver可以做中间层,但想提高效率,不一定很明显。

#4


我觉得你的看法有误,
首先数据库连接并不会耗费太多资源,你看Sybase数据库管理方面的书籍就知道了,一个数据库连接,
数据库服务器只分配几十K的内存,100个连接也在10M之内,
连接多了运行速度慢是因为请求量大大增加了,超出了服务器的负荷.

第二,相同的硬件配置下,如果你用中间件服务器实现中转的功能,难道客户请求会减少?当然不会,因此数据库服务器的负荷还是一样大,而且经过中间件服务器的中转,效率相对有所下降才对.资源就那么多,无米之炊怎么做啊.

我的想法是,对于现在流行的中间件可以加快访问速度的说法,应该是和硬件配置相互结合的情况下,才能够实现.比如实际数据库分布在多个服务器上,采用数据库集群的方式分布,这个时候中间件就可以发挥作用了,中间件获取用户的请求,不同的请求分发到不同数据库服务器上,如果用户需求增加了,只需要增加几个数据库服务器就可以了.

谁有做过请求量巨大的系统,也发表发表意见吧.大家讨论讨论.

#5


我对sybase数据库确实不熟,只知道零散的知识点,不系统。主要是现在市面上根本就买不到sybase的书籍,而且老同志告诉些也是很不系统的,但是公司的系统都用的sybase,很烦。不知道sybase公司是不是不准备发展他的用户群,到处都是oracle就没有sybase的书。

所以,我只有相信实际了。我们做的是集装箱系统的,Pb+sybase,服务器是sun的(挺贵的,unix系统),10万箱的设计量,人家用的pb+ms sqlserver+winnt普通的服务器,而且箱量是50万(不是太清楚,反正是我们的几倍),速度比我们的快多了。

比较了下,最不同的地方就是我们两层C/S模式,而他们的是三层C/S模式。当场他们也用了EAserver这个作中间件,效果不是很好,后来就自己写了个用起来效果很好。

应该归功于这个中间件,所以我认为pb中间件应该研究下。

#6


可以通过pb的代理对象实现三层结构,我们以前做过很多相关例子的,但是没有尝试过100多个连接,不知道能否经受这么大的压力

#7


to : li_d_s(我是小鬼) 
说来听听你们原来怎么作的?
或者发个例子出来,大家共同探讨下……

#8


pb的不可视自定义用户对象的右键菜单有一个set proxy name...
首先生成一个上述的用户对象,并增加一个用户对象级别的函数,比如connect(...),然后用set proxy name 生成一个代理对象,并拷贝到客户端的pbl中,再用socket连接上,就可以使用connect()这个函数了

#9


一两句话说不清楚,你的pb什么版本?可以发个例子给你参考

#10


pb 8.0

waiting……

#11


我这没有80的版本,只有9和65,我把65的版本发给你吧,但是只有服务器端的代码,因为客户端的设计到商业秘密,所以只能给你相应部分的代码,qq:14294901,或者,你的mail

#12


ok,我在装吧,cqtjh@sina.com

谢谢……

#13


发出,查收

#14


顶一下.
:)

#15


我認為中間層不可以加快速度

#16


强烈观注中

#17


没有人说用中间件是用来加快速度的!

#18


我看加大代宽,服务器硬件升级才是王道。对后台做些优化,尽量减少数据传输量。

#19


pb的不可视自定义用户对象的右键菜单有一个set proxy name...
首先生成一个上述的用户对象,并增加一个用户对象级别的函数,比如connect(...),然后用set proxy name 生成一个代理对象,并拷贝到客户端的pbl中,再用socket连接上,就可以使用connect()这个函数了

这个方法速度比较快的
你可以试试

#20


没有收到

#21


又发了一次

#22


兄弟啊,我这边350个用户直接连接到用户都还不感觉慢啊,我想你的查询语句可能有些问题吧,过分耗资源

#23


说道速度问题,主要还是你的SQL语句不够优化造成的,要多在编程上找原因!

#24


其实也不能那么说。如果100多个用户直接访问服务器,速度的确慢,因为c/s结构是这样的,每一个客户连接服务器,都会在内存中虚拟,100多个用户不断的连接,也就是不断的虚拟和释放,然后再虚拟,释放,这显然是很慢得。建议用com/com+来实现,绝对有用!

#25


中间件到底是什么样的概念,马上要用到IBM mq做文件和数据传输。谁能帮我

#26


学习

#27


用Easerver来做应用服务器,这样的系统的可扩展性明显增加,如果你有几台应用服务器,通过负载平衡,肯定要比C/S架构运行速度快,而且如果速度慢的话,你再加台应用服务器即可,应用服务器配置也不用太高,普通的PC即可

#28


不用Easerver用Microsoft的COM/MTS组件也可以,如果用Easerver,建议你用4.22版本

比较稳定

#29


友情提示,该结贴了

#30


三层当然是快的,你这个根本无可比性,sybase for sun 对服务器的配置很高,我们一个客户买了台几十万的SUN,当场就被另一软件商否决了,说配置太低,他们的点数可是三,四百个点的,所以你用sybase是很慢的,是你们开始就设计错误,100多个点完全可以用sql server,如果不考虑数据库迁移(建议迁移,因为sybase和sql server 是几乎相同的技术,几乎不用改什么程序),那只能考虑三层了,很简单的一个道理,两台服务器的内存+CPU跑不过你一个服务器?一台数据库读写,一台是逻辑业务运算,不快?那是不可能的,PB6。5有个transport代理,到了PB9就没有了,只能用easerver,不过这个easerver可是很昂贵的,数据库迁移?呵呵,sql server 可没FOR UNIX的版本呀,头疼!!!

#31


顶一下!

#1


用中间件真的能够加快速度吗,我非常怀疑.
看看现在开发的三层系统,
同样的硬件配置,我没有见过在局域网运行能够快过2层的.
而且开发独立运行的中间件系统的工作量很大啊.

建议还是升级硬件,优化数据库配置来的实在.

#2


对阿,这是因为有人已经作出了这样的结果。

只是不告诉我们而已。

具研究让服务器慢下来,数据库的连接太多也是很耗资源的,所以对系统优化来说这也是一个方面的。

#3


用SYBASE的EAserver可以做中间层,但想提高效率,不一定很明显。

#4


我觉得你的看法有误,
首先数据库连接并不会耗费太多资源,你看Sybase数据库管理方面的书籍就知道了,一个数据库连接,
数据库服务器只分配几十K的内存,100个连接也在10M之内,
连接多了运行速度慢是因为请求量大大增加了,超出了服务器的负荷.

第二,相同的硬件配置下,如果你用中间件服务器实现中转的功能,难道客户请求会减少?当然不会,因此数据库服务器的负荷还是一样大,而且经过中间件服务器的中转,效率相对有所下降才对.资源就那么多,无米之炊怎么做啊.

我的想法是,对于现在流行的中间件可以加快访问速度的说法,应该是和硬件配置相互结合的情况下,才能够实现.比如实际数据库分布在多个服务器上,采用数据库集群的方式分布,这个时候中间件就可以发挥作用了,中间件获取用户的请求,不同的请求分发到不同数据库服务器上,如果用户需求增加了,只需要增加几个数据库服务器就可以了.

谁有做过请求量巨大的系统,也发表发表意见吧.大家讨论讨论.

#5


我对sybase数据库确实不熟,只知道零散的知识点,不系统。主要是现在市面上根本就买不到sybase的书籍,而且老同志告诉些也是很不系统的,但是公司的系统都用的sybase,很烦。不知道sybase公司是不是不准备发展他的用户群,到处都是oracle就没有sybase的书。

所以,我只有相信实际了。我们做的是集装箱系统的,Pb+sybase,服务器是sun的(挺贵的,unix系统),10万箱的设计量,人家用的pb+ms sqlserver+winnt普通的服务器,而且箱量是50万(不是太清楚,反正是我们的几倍),速度比我们的快多了。

比较了下,最不同的地方就是我们两层C/S模式,而他们的是三层C/S模式。当场他们也用了EAserver这个作中间件,效果不是很好,后来就自己写了个用起来效果很好。

应该归功于这个中间件,所以我认为pb中间件应该研究下。

#6


可以通过pb的代理对象实现三层结构,我们以前做过很多相关例子的,但是没有尝试过100多个连接,不知道能否经受这么大的压力

#7


to : li_d_s(我是小鬼) 
说来听听你们原来怎么作的?
或者发个例子出来,大家共同探讨下……

#8


pb的不可视自定义用户对象的右键菜单有一个set proxy name...
首先生成一个上述的用户对象,并增加一个用户对象级别的函数,比如connect(...),然后用set proxy name 生成一个代理对象,并拷贝到客户端的pbl中,再用socket连接上,就可以使用connect()这个函数了

#9


一两句话说不清楚,你的pb什么版本?可以发个例子给你参考

#10


pb 8.0

waiting……

#11


我这没有80的版本,只有9和65,我把65的版本发给你吧,但是只有服务器端的代码,因为客户端的设计到商业秘密,所以只能给你相应部分的代码,qq:14294901,或者,你的mail

#12


ok,我在装吧,cqtjh@sina.com

谢谢……

#13


发出,查收

#14


顶一下.
:)

#15


我認為中間層不可以加快速度

#16


强烈观注中

#17


没有人说用中间件是用来加快速度的!

#18


我看加大代宽,服务器硬件升级才是王道。对后台做些优化,尽量减少数据传输量。

#19


pb的不可视自定义用户对象的右键菜单有一个set proxy name...
首先生成一个上述的用户对象,并增加一个用户对象级别的函数,比如connect(...),然后用set proxy name 生成一个代理对象,并拷贝到客户端的pbl中,再用socket连接上,就可以使用connect()这个函数了

这个方法速度比较快的
你可以试试

#20


没有收到

#21


又发了一次

#22


兄弟啊,我这边350个用户直接连接到用户都还不感觉慢啊,我想你的查询语句可能有些问题吧,过分耗资源

#23


说道速度问题,主要还是你的SQL语句不够优化造成的,要多在编程上找原因!

#24


其实也不能那么说。如果100多个用户直接访问服务器,速度的确慢,因为c/s结构是这样的,每一个客户连接服务器,都会在内存中虚拟,100多个用户不断的连接,也就是不断的虚拟和释放,然后再虚拟,释放,这显然是很慢得。建议用com/com+来实现,绝对有用!

#25


中间件到底是什么样的概念,马上要用到IBM mq做文件和数据传输。谁能帮我

#26


学习

#27


用Easerver来做应用服务器,这样的系统的可扩展性明显增加,如果你有几台应用服务器,通过负载平衡,肯定要比C/S架构运行速度快,而且如果速度慢的话,你再加台应用服务器即可,应用服务器配置也不用太高,普通的PC即可

#28


不用Easerver用Microsoft的COM/MTS组件也可以,如果用Easerver,建议你用4.22版本

比较稳定

#29


友情提示,该结贴了

#30


三层当然是快的,你这个根本无可比性,sybase for sun 对服务器的配置很高,我们一个客户买了台几十万的SUN,当场就被另一软件商否决了,说配置太低,他们的点数可是三,四百个点的,所以你用sybase是很慢的,是你们开始就设计错误,100多个点完全可以用sql server,如果不考虑数据库迁移(建议迁移,因为sybase和sql server 是几乎相同的技术,几乎不用改什么程序),那只能考虑三层了,很简单的一个道理,两台服务器的内存+CPU跑不过你一个服务器?一台数据库读写,一台是逻辑业务运算,不快?那是不可能的,PB6。5有个transport代理,到了PB9就没有了,只能用easerver,不过这个easerver可是很昂贵的,数据库迁移?呵呵,sql server 可没FOR UNIX的版本呀,头疼!!!

#31


顶一下!