`

主题:高并发系统开发碎碎念

 
阅读更多

程序员最不愿见到的就是程序抛出异常

经常会做些激进的测试,然后各种各样的异常都会抛出来

用户量增多,并发量加大如果没有去加以控制会发生一堆让你头疼的问题.

如:

cpu 达到100%,

占用内存增大,垃圾回收时间增长,jvm卡顿

流量增大,

线程安全/阻塞

数据库线程池耗尽,获取不到连接 抛出一些异常.这些异常然后会导致业务出现异常,然后数据出现错误.

并发量增加,大量的单例模式导致 业务层面的线程安全问题凸显

还有的破坏性测试,结果发现业务数据会出现混乱

 

一堆喜闻乐见的问题.

现在,我们来处理这些问题:

1.数据库连接池获取连接超时

假如数据库连接池设定的是2个,获取连接超时时间为6秒,有3条sql同时被执行.那么其中2条会正常的执行,第三条则等待前两条sql执行完毕, 如果是这样就不会有问题.但是实际上第三条也在执行,这个时候这条sql也在尝试获取连接,并且开始计时.如果6秒后还没获取到连接就会抛出获取连接失败 的异常.

如果你没有处理sql超时的问题,最好是不要设置超时时间.因为抛出异常后会导致业务数据出错.

应该插入的没插入,应该update的没update. 当然如果有很多业务,那么会导致其他业务都阻塞起来.

我觉得,这件事情嘛.就随他去好了!谁叫你弄那么多超出处理能力的业务呢!

另外一种方法就是上层控制,就好像做个大坝把水拦起来.

 

 

2.cpu100%

如果不是bug,业务量增大cpu必然会上升接近100%.jdk里面有很多监控工具. 还有性能分析工具.这个问题就对着分析工具一个方法一个方法的排查吧

 

 

3.流量增大

流量似乎不是个问题,但是看着监控软件几M几M的进进出出 还是有些担心.高访问量io操作增加,编解码压力增大.会导致cpu增高,垃圾回收的任务加大. 编解码处理能力达到上限,业务访问照成延迟.这个问题,也只能一点点优化了.

 

4.线程安全/阻塞

线程安全问题似乎无解,为了保证业务线程安全.该加的锁不会少.当然能不加的锁不要加.影响是非常恶劣的.

另外,业务间的线程安全问题是个更棘手更难处理的问题.在暴力测试下你才会重视这种事情

 

5.jvm卡顿

没有细致的研究过

 

分享到:
评论

相关推荐

    ASP实例开发源码—简洁碎碎念简单的轻微博系统v1.1.zip

    综上所述,"ASP实例开发源码—简洁碎碎念简单的轻微博系统v1.1.zip"提供了学习和实践ASP开发的机会,特别是对于那些对构建社交网络应用感兴趣的人来说。通过研究源码,开发者可以深入了解ASP的编程模型、数据库集成...

    简洁碎碎念轻微博系统 v1.1.rar

    简洁碎碎念轻微博系统V1.1 简洁碎碎念是一个简单的轻微博,在这里您可以记录和分享自己生活中的点滴瞬间。 支持 文字 图片 音乐 链接 视频的发布。 界面清晰简洁。 登陆用户名 密码 admin admin

    Hbase运维碎碎念.pptx

    Hbase 运维碎碎念 Hbase 运维碎碎念是 Hbase 运维实践经验的总结,涵盖了 Hbase 的基本概念、JAVA 基础知识、HDFS 和 HBase 的关系、JVM Heap 的管理、GC 机制等多方面的知识。 在 Hbase 运维碎碎念中,我们可以...

    简洁碎碎念 轻微博系统 v1.1

    简洁碎碎念轻微博系统简洁碎碎念是一个简单的轻微博,在这里您可以记录和分享自己生活中的点滴瞬间。系统支持文字、图片、音乐、链接、视频的发布,界面清晰简洁。登陆用户名 admin密码 admin注:由于疏忽,导致一...

    ASP源码—简洁碎碎念简单的轻微博系统v1.1.zip

    本压缩包中的"ASP源码—简洁碎碎念简单的轻微博系统v1.1.zip"是一个基于ASP技术构建的轻微博系统。这个系统可能包含了以下关键组成部分: 1. **用户模块**:用户注册、登录、个人信息管理等功能,可能使用了session...

    我在斯坦福做科研的碎碎念 .rar

    “我在斯坦福做科研的碎碎念”揭示了作者在世界顶级学府斯坦福大学进行科研工作的亲身经历和感悟,这是一份珍贵的第一手资料,对于想要了解人工智能领域,尤其是AIGC(人工智能生成内容)、CV(计算机视觉)、AI...

    (完整word版)互联网高并发架构设计.docx

    《互联网高并发架构设计...总结,互联网高并发架构设计涉及服务器架构设计、并发测试、实战策略以及架构演进等多个方面,需要结合具体业务需求和技术手段,不断迭代和优化,以确保系统在高并发场景下的稳定性和高性能。

    基于ASP的简洁碎碎念简单的轻微博系统v1.1.zip

    【标题】"基于ASP的简洁碎碎念简单的轻微博系统v1.1"是一个轻量级的微博平台,采用经典的ASP(Active Server Pages)技术构建。ASP是微软开发的一种服务器端脚本环境,用于生成动态网页。这个轻微博系统旨在提供一个...

    eoo!碎碎念 简易博客系统 v0.2

    碎碎念 v0.2更新首先把[导入数据库.sql]导入到数据库中.然后修改[conn.php]里面的数据库连接信息。最后上传程序.后台登陆地址为admin 密码:admin更多修改请看下载文件内使用说明.txt。后台有修改密码功能。

    简洁碎碎念轻微博系统 v1.1.zip

    简洁碎碎念轻微博系统V1.1 简洁碎碎念是一个简单的轻微博,在这里您可以记录和分享自己生活中的点滴瞬间。 支持 文字 图片 音乐 链接 视频的发布。 界面清晰简洁。 登陆用户名 密码 admin admin 注:由于疏忽,...

    分分钟的碎碎念1

    这个问题描述的是一个典型的图论问题,具体来说是一个有向图的最长路径问题。在这个问题中,每个念头被视为图中的一个节点,而因果关系则表示为从一个节点到另一个节点的有向边。我们需要找到这个有向图中最长的路径...

    Java高并发高性能分布式框架从无到有微服务架构设计说明.docx

    Java高并发高性能分布式框架的设计与微服务架构紧密相关,旨在构建可扩展、容错性强、技术选型灵活的系统。微服务架构的核心理念是将大型应用程序拆分为一系列小型、独立的服务,每个服务专注于特定的业务功能,通过...

    数据库课设报告:图书管理系统.docx

    【图书管理系统概述】 图书管理系统是针对学院图书馆日常运营而设计的一种信息化解决方案,旨在规范图书管理流程...完成这样一个系统,有助于学生全面了解信息系统开发的整个生命周期,为未来的职业生涯打下坚实基础。

    asp.net开发银行交易系统源码

    【ASP.NET银行交易系统开发详解】 ASP.NET是微软公司推出的一种Web应用程序开发框架,它基于.NET Framework,提供了高效、安全且可扩展的平台,用于构建动态网站、Web应用和服务。在本项目中,"asp.net开发银行交易...

    员工管理系统SQL.docx

    该步骤包括系统开发需求分析、可行性分析和系统安全性分析等。 知识点5:数据库设计 数据库设计是员工管理系统的关键组成部分。该步骤包括根据需求结果的分析,得到E-R图,然后根据E-R图对数据库进行建表,涉及表...

    OpenRISC环境搭建一:ubuntu单系统双系统安装及使用.docx

    【OpenRISC环境搭建】是关于在Ubuntu操作系统中配置OpenRISC开发环境的教程,主要涉及如何在Windows系统上创建Ubuntu单系统或双系统的安装流程,以及安装后的基础使用和配置。 1. **预备工作** - 在Windows系统中...

    ReWorks嵌入式实时操作系统和ReDe嵌入式软件开发环境.docx

    ReWorks嵌入式实时操作系统和ReDe嵌入式软件开发环境 ReWorks嵌入式实时操作系统是华东计算技术研究所自主研制的嵌入式实时操作系统,为满足高端数字化应用对网络自适应、服务个性化、功能综合化以及功能复杂化等...

    电子工程师碎碎念_90

    电子工程师碎碎念_90知识分享 本资源电子工程师碎碎念_90知识分享涵盖了大量电子工程领域的知识点,包括STM32系列微控制器、AltiumDesigner、LTspice、CubeIDE、电路设计、测量技术、信号处理、 Cache和MPU等方面。...

    信息管理课程设计-图书管理系统开发完整版(附代码).docx

    - **高性能组件创建**:Visual FoxPro 6.0支持创建高性能的可重用组件,这些组件不仅可以在客户端/服务器环境下运行,还可以应用于互联网或内网环境中,增强了系统的灵活性和扩展性。 - **易于学习和使用**:相比...

    应用系统安全开发技术规范V1.3.docx

    应用系统安全开发技术规范V1.3.docx

Global site tag (gtag.js) - Google Analytics