`
dou_shini8820
  • 浏览: 77898 次
社区版块
存档分类
最新评论

高并发下,数据库成最大问题怎么办?

阅读更多

1.查看下数据库最大连接数是否够用,mysql默认是100,并发量大的时候不够用

2.查看下你的连接池,是否有限制,Jboss一般默认是10个,这是很大的瓶颈

3.给你的JVM多分配点内存,一般是物理主机的3/4,前提是这台物理机器只跑jvm

4.查看下你的sql是不是都按照索引查找数据,或者已经做了索引的数据被频繁更新,这会造成数据库维护索引开销增大

(可以考虑换字段查数据)

5.给你的Tomcat或者Jboss更多的工作线程,tomcat,jboss web默认都是200的线程池,很不够用

6.如果你的静态文件过多,可以考虑apache或者nignx做前端负载均衡,后边挂多个tomcat或jboss

7.如果并发量还是大apache与nignx不能满足简单负载均衡,或者反响代理,可以采用更底层的LVS在ip层负载,如果公司舍得烧钱,用F5-BIG + LVS + DNS轮训,跑并发是没有问题了看己集群的数量

8.数据库做那种主从实在是看不过去,太土了,而且抗灾性能超差,可以考虑在底层共享存储比如向NFS或者GFS这样的,如果有钱可以搞磁阵+交换机。

9.如果数据库还是慢,你可以考虑采用内存数据库,比如Oracle 2005年收购的timesden,处理sql的速度是Oracle的1/1000,而且支持sql,HA,并且能自动同步后台Oracle DB,不过我有种跟好的想法,就是让一般数据库使用固态硬盘,这样就可以减少内存与硬盘的速度匹配问题,也可以达到内存数据库的效果,甚至更好,这个方案我还没有机会尝试。

0
3
分享到:
评论
2 楼 dou_shini8820 2013-08-27  
vtrtbb 写道
是 TimesTen 吧, 没听说过timesden

另外,这个TimesTen 也有瓶颈。还不如用NoSql 之类的。



嗯,这里字打错了
1 楼 vtrtbb 2013-08-27  
是 TimesTen 吧, 没听说过timesden

另外,这个TimesTen 也有瓶颈。还不如用NoSql 之类的。

相关推荐

    什么是NoSQL数据库?

    NoSQL的出现是为了弥补SQL数据库因为事务等机制带来的对海量数据、高并发请求的处理的性能上的欠缺。 NoSQL不是为了替代SQL而出现的,它是一种替补方案,而不是解决方案的首选。 绝大多数的NoSQL产品都是基于大...

    44 1 MySQL数据库集群和高并发-Mycat分库配置

    教程视频:1、一个彻底开源的,面向企业应用开发的大数据库集群 2、支持事务、ACID、可以替代MySQL的加强版数据库 3、一个可以视为MySQL集群的企业级数据库,用来替代昂贵的Oracle集群 4、一个融合内存缓存技术、...

    基于SpringBoot + MySQL + Redis + RabbitMQ + Guava开发的高并发商品限时秒杀系统

    基于SpringBoot + MySQL + Redis + RabbitMQ + Guava开发的高并发商品限时秒杀系统 项目经过严格测试,确保可以运行!源码无需做任何更改! 系统介绍 本系统是使用SpringBoot开发的高并发限时抢购秒杀系统,除了...

    SpringBoot开发的高并发限时抢购秒杀系统

    本系统是使用SpringBoot开发的高并发限时抢购秒杀系统,除了实现基本的登录、查看商品列表、秒杀、下单等功能,项目中还针对高并发情况实现了系统缓存、降级和限流。 开发工具: IntelliJ IDEA + Navicat + ...

    达梦数据库_SQL语言手册

    小决定,字符类型最大长度和页面大小的对应关系请见下表支持按字节存放字符 串 表 数据库页面大 最大长度 类型 语法: 长度 功能:与 相同。 类型 语法: 长度 功能 数据类型指定变长字符串,用法类似 ...

    Oracle数据库最大可用性体系结构

    包括网络、系统、数据库等,都已经考虑了可用性,但 是作为用户,无论是IT的经理人、架构设计师、系统管理员还是数据库管理员都会发现他们很难完成各分散系统的集成以构建一个统一的高可用性方案以适应他们 ...

    网络内存数据库

    接访问数据,从而获得极高的存取速度和极强的并发访问能力的数据库管理系统,在设计风格上兼容主流数据库(MS SQL SERVER、SYBASE)的特点,客户端通过TCP网络的方式来访问Cache Server。 Cache Server网络内存...

    Cache Server V1.2.0 嵌入式(实时)内存数据库(linux 32)

    接访问数据,从而获得极高的存取速度和极强的并发访问能力的数据库管理系统,在设计风格上兼容主流数据库(MS SQL SERVER、SYBASE)的特点,宿主进程通过在本进程内加载Cache Server直接访问内存数据库。 Cache ...

    java高并发商品限时秒杀系统.zip

    本系统是使用SpringBoot开发的高并发限时抢购秒杀系统,除了实现基本的登录、查看商品列表、秒杀、下单等功能,项目中还针对高并发情况实现了系统缓存、降级和限流。 开发工具 IntelliJ IDEA + Navicat + Sublime ...

    基于GPU的内存数据库索引技术研究

    由于内存数据库具有比基于磁盘的数据库更高的查询响应速度和并发度,其被广泛应用于银行、证券交易所和在线购物等数据量庞大并且实时性要求高的商业领域。索引能够有效降低数据的搜索空间、提高内存数据库的查询效率...

    数据库设计工具.docx

    Berkeley DB能够支持数千的并发线程同时操作数据库,支持最大256TB的数据。BDB提供诸如C语言,C++,Java,Perl,Python,Tcl等多种编程语言的API,而且普遍支持大多数类Unix操作系统和Windows操作系统和实时操作系统...

    数据库设计方案.docx

    综合对黑龙江林业数据源和功能进行分析,将矢量数据按照数据类型分为公共基础数据库、林业基础矢量数据库、林业专题矢量数据库,每一个数据库需按照数据内容和数据特点组织成不同的图层。 矢量数据主要是指大比例尺...

    Apache ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈.rar

    同时,高并发访问请求也使得集中式数据库成为系统的最大瓶颈。 从可用性的方面来讲,服务化的无状态型,能够达到较小成本的随意扩容,这必然导致系统的最终压力都落在数据库之上。而单一的数据节点,或者简单的主从...

    Apache ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,.rar

    同时,高并发访问请求也使得集中式数据库成为系统的最大瓶颈。 从可用性的方面来讲,服务化的无状态型,能够达到较小成本的随意扩容,这必然导致系统的最终压力都落在数据库之上。而单一的数据节点,或者简单的主从...

    如何利用Redis锁解决高并发问题详解

    redis之所以能解决高并发的原因是它可以直接访问内存,而以往我们用的是数据库(硬盘),提高了访问效率,解决了数据库服务器压力。 为什么redis的地位越来越高,我们为何不选择memcache,这是因为memcache只能存储字符...

    springboot-seckill:基于SpringBoot + MySQL + Redis + RabbitMQ + Guava开发的高并发商品限时秒杀系统

    本系统是使用SpringBoot开发的高并发限时抢购秒杀系统,除了实现基本的登录,查看商品列表,秒杀,下单等功能,项目中还针对高并发情况实现了系统缓存,降级和限流。 开发工具 IntelliJ IDEA + Navicat + Sublime ...

    SQL Server 2008数据库设计与实现

     4.1.4 最大化聚集索引的使用  4.1.5 降低每张表中索引的数量  4.2 规范化应该走多远  4.3 规范化过程  4.4 实体和属性的形式:第一范式  4.4.1 所有属性必须是原子的  4.4.2 实体的所有实例必须包含...

    基于C++实现多线程连接池MySQL源码+项目说明+详细代码注释.zip

    ## 高并发下频繁处理瓶颈 * 建立通信:`TCP三次握手` * 数据库服务器的`连接认证` * 服务器`关闭连接`的资源回收 * `断开`通信的TCP四次挥手 > 如果客户端和服务端`频繁`进行类似操纵,影响整个`开发效率` ## ...

    mysql数据库my.cnf配置文件

    如果对数据一致性和完整性要求不高,完全可以设为2,如果只最求性能,例如高并发写的日志服务器,设为0来获得更高性能 innodb-buffer-pool-size = 128M innodb_log_buffer_size = 4194304 # 此参数确定些日志文件...

Global site tag (gtag.js) - Google Analytics