Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux集群 > Architecture > » 正文

书摘-可伸缩性-垂直伸缩

来源: peterpeng881003 分享至:

支撑高访问量

WEB应用随着访问量的增长,通常其瓶颈会出现在CPU或内存上,网络IO或磁盘IO出现瓶颈的几率较低!

增加CPU后:

要做到增加CPU后系统的服务能力线性增长,要求系统能够随着CPU的增加,响应速度提升或同时可用于处理请求的线程增加,主要下面三种情况,增加CPU后系统的服务能力无法线性增长

1、锁竞争激烈

锁竞争激烈造成很多线程都在等待锁,此时即使增加CPU,却无法让线程得到更快的处理!

2、用于支撑并发请求的线程数是固定的

java应用中,依靠多个线程来支撑高并发量,如启动的线程数是固定的,那么即使CPU增加了,系统的服务能力也不会提升!

3、单线程任务

增加CPU不会带来任何的提升


增加内存后:

增加能存后,主要有如下两种情况增加内存后无法是系统服务线性增长

1、cache的集合大小是固定的

系统通常会通过增加cache来提升性能,而为了避免资源消耗过多,多会限制cache的集合大小,如这个大小是固定的,增加能存无法起到应有的作用。

2、JVM堆内存是固定的

JVM堆通常是在启动参数中设定的,而过增加内存不调整JVM堆大小,增加能存后,系统的服务能力提升无法提升

支撑大数据量

数据量增加到一定程度后,数据库的读写速度大幅度下降,除了数据库软件本身要做到在CPU、磁盘或内存增加后提升响应速度外,从数据库本身也可以做一些优化,主要优化手段是分表。



Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史