s****y 发帖数: 503 | 1 后台数据库是几个legecy system,capacity有限,只能从mid-tie用web services访问
,用户访问时间比较长,而且用户数量会增加,系统是mission-critical的,用Java做
mid-tie应该怎么解决这个问题? |
g*****g 发帖数: 34805 | 2 See if you can leverage cache. Bottle neck is on the DB, if you can't
improve the DB performance, that's pretty much all you can do.
【在 s****y 的大作中提到】 : 后台数据库是几个legecy system,capacity有限,只能从mid-tie用web services访问 : ,用户访问时间比较长,而且用户数量会增加,系统是mission-critical的,用Java做 : mid-tie应该怎么解决这个问题?
|
w********m 发帖数: 1137 | 3 读是瓶颈的话,加memcached。
写是瓶颈的话,加新的性能好的数据库,夜深人静的时候dump进legacy里面。 |
s****y 发帖数: 503 | 4
但是读写的都是用户数据,不是公共的数据。用户私有的数据也能暂存,再慢慢写入DB?
【在 g*****g 的大作中提到】 : See if you can leverage cache. Bottle neck is on the DB, if you can't : improve the DB performance, that's pretty much all you can do.
|
g*****g 发帖数: 34805 | 5 Sure, you can write to Redis/Memcache during a session and commit to DB on
logout/session expiration. You'll avoid most read loads on the DB and batch
the writes. On the down side, you'll lose some transaction characteristics.
So it may or may not work depending on the application requirement.
DB?
【在 s****y 的大作中提到】 : : 但是读写的都是用户数据,不是公共的数据。用户私有的数据也能暂存,再慢慢写入DB?
|
z****e 发帖数: 54598 | 6 java对于persistence没有太多办法
这个从本质上说是persitence自身的性能瓶颈
你java怎么做也做不了太多,最好的方式就是想办法把原来的db效率给提升提升
适当地把一些次重要的数据交给nosql尤其是cassandra是一个比较好的方法
其次数据库读写分离,做成数据仓库也是一种方法
当然还有建cache,建连接池,做成异步的,等等 |