请教一个实际工作中performance和scalability的问题# Programming - 葵花宝典
c*u
1 楼
现在工作中维护一个Portal,平台是Java+Jboss,数据库是oracle和cassandra,
framework是开源的liferay(基于spring, hibernate的一个portal开发框架)。整个
portal除了对user,account,role,permission等等有insert/delete/update操作,其他
的都是纯读操作。
现在user大概有几万个,account大概有几千个,permission大概有上百个,现在运行
起来难度不大,唯一的performance问题就是用户登录的时候查询时间有点长,因为这
个authentication的机制当时设计的时候有点复杂,一个account可以有多个role,一
个user也可以有多个role,role可以组成role group,每个role对应一些permission,
permission在liferay内部还要join几个表来查询显示的portlet,所以登录时间经常在
十几秒钟,请问有什么办法能在不重新设计认证机制的条件下提高performance吗?据
说在接下来的一年内,用户将增至几十万或者几百万,到时候肯定是更慢了。
目前我们这个portal expose了webservice用来给customers批量增加users,但是他们
每次要添加的user都会分配给上千个account,这个association操作也比较多,接下来
一年内这种request在一个短时间内会非常频繁,我担心我们的application handle不
了。小弟对分布式和scalability不是很懂,不知道有什么分布式的工具、框架、来应
对这种数据量和请求指数级上涨的需求吗?
framework是开源的liferay(基于spring, hibernate的一个portal开发框架)。整个
portal除了对user,account,role,permission等等有insert/delete/update操作,其他
的都是纯读操作。
现在user大概有几万个,account大概有几千个,permission大概有上百个,现在运行
起来难度不大,唯一的performance问题就是用户登录的时候查询时间有点长,因为这
个authentication的机制当时设计的时候有点复杂,一个account可以有多个role,一
个user也可以有多个role,role可以组成role group,每个role对应一些permission,
permission在liferay内部还要join几个表来查询显示的portlet,所以登录时间经常在
十几秒钟,请问有什么办法能在不重新设计认证机制的条件下提高performance吗?据
说在接下来的一年内,用户将增至几十万或者几百万,到时候肯定是更慢了。
目前我们这个portal expose了webservice用来给customers批量增加users,但是他们
每次要添加的user都会分配给上千个account,这个association操作也比较多,接下来
一年内这种request在一个短时间内会非常频繁,我担心我们的application handle不
了。小弟对分布式和scalability不是很懂,不知道有什么分布式的工具、框架、来应
对这种数据量和请求指数级上涨的需求吗?