`
avaj
  • 浏览: 237602 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

影响程序性能的主要因素

阅读更多

我在公司负责产品的研发工作,产品主要是面向行业用户的,用来做开发整合的。有别于互联网的网站。


最近一直在考虑,像这样的产品,什么才是影响性能的主要因素呢?


我觉着有三年以上经验的程序员,写出来的java代码都是差不多的,而且公司也有详细的开发规范,


开发规范分两部分:


第一部分是代码规范

第二部分是注意的问题:比如用StringBuffer代替String之类的东西,比如,尽量避免大段的代码同步等。


要求每个程序员都必须按照开发规范来写程序,所以只要不是水平太次,一般不会在代码写出影响性能的东东。


所以感觉影响性能的还是在数据库和页面两部分。


数据库主要表现在:SQL执行的效率不一致,有的程序员写的SQL执行效率高一些,有的写的SQL执行效率低下。

页面:主要表现在图片过多、js文件过大等方面。


我觉着,如果一个有三年经验的程序员,应该不会写出太次的SQL,同样的业务逻辑(同样的表结构),两个程序员


写的SQL应该相差不大。


所以我感觉影响SQL执行效率低下的原因,最有可能的不是程序员写的差,而是:

1、数据库表结构设计不合理,业务逻辑设计不合理,在业务逻辑变化的时候,出现拼凑,凑合等情况,导致巨无霸SQL的产生。

 

2、数据库没有做相应的优化,比如没有加索引等。


说到加索引,发现程序员一般喜欢不经过详细的SQL执行计划的分析就加。其实这是值得商榷的。

 

结论:


设计是最重要的,但是要做到完美的设计,可以说现阶段的水平,基本没戏。


碰到业务逻辑变化咋办?


只能不停的review,不光是代码的review,设计的review也是不能少的

 

这又带来一个问题,设计变了(比如数据库表),如何与老版本兼容呢?

 

真是一个头疼的问题!


分享到:
评论
2 楼 avaj 2008-11-05  
JVM参数的设置是与服务器的实际情况有关系的吧?

不知道你常用的性能分析工具是哪些?能推荐一下吗?
1 楼 sg552 2008-11-04  
性能问题不是你想出来的。
而是通过性能工具,实实在在的分析出来的。

我本身遇到的性能问题,主要有三种:

1. JVM参数设置不对。 内存太小造成了性能直线下降

2. 对 java.util.Iterator.next()的不正常调用。造成了程序的死循环。

3. 使用 SQL 时,用了嵌套select , 形式是:
  select xx from table1   where id in (select yy from table2)
  这个SQL语句的复杂度是O(n的n次方)。当table1 和table2的 记录都在1W
条左右时, 这条SQL查询会考察近1亿行记录,MYSQL执行速度在 25s以上。

其他的性能问题,没遇到过。

相关推荐

    SQL数据库应用程序性能的因素与优化技术.pdf

    在本文中,我们将深入探讨SQL数据库应用程序性能的影响因素以及相应的优化技术。 首先,SQL数据库应用程序的工作流程主要包括查询系统、索引系统和连接系统。查询系统允许用户设定查询条件,通过查询管理器找到所需...

    Java程序性能相当的好

    Java程序性能优化是开发者在构建高效、稳定应用时必须关注的重要方面。Java作为一种跨平台的编程语言,其性能可以通过多种手段进行提升,包括但不限于代码优化、JVM参数调优、垃圾回收机制理解以及并发处理等。 ...

    影响SQL SERVER性能的关键因素 (1).pdf

    影响 SQL SERVER 性能的关键因素 SQL Server 是一个流行的关系型数据库管理系统,它的性能对应用程序的运行效率和用户体验产生重要影响。影响 SQL Server 性能的关键因素有三个:逻辑数据库和表的设计、索引的设计...

    Domino 6应用程序性能优化指南

    应用程序性能是衡量应用程序在某些环境中,在特定工作负荷情况下如何有效运行的一种标准。您能衡量应用程序性能吗?答案是可以,它所需要的是一种独立的测试环境,包括与生产环境类似的网络、仿真用户及其工作的负荷...

    影响SQL server性能的关键因素.pdf

    影响SQL Server性能的关键因素 影响SQL Server性能的关键因素可以归纳为三个方面:索引的设计、查询语句的设计和数据库的逻辑设计。 首先,数据库的逻辑设计是优化关系型数据库性能的核心。一个好的逻辑数据库设计...

    10-程序性能优化-并行_5142087311

    "程序性能优化-并行" 程序性能优化是指通过对程序的架构、算法和实现进行优化,以提高程序的执行速度和效率。在并行程序中,性能优化尤为重要,因为并行程序的执行时间可能会受到多种因素的影响,例如处理器的速度...

    PLSQL程序优化和性能分析方法

    PLSQL程序增大IO的情况也是性能的重要影响因素,开发者需要了解程序对IO的使用情况,包括读写数据都需要访问磁盘IO、读取的数据越多,IO就越大等。 6. ORACLE优化器 ORACLE优化器是PLSQL程序优化的重要工具,开发者...

    oracle 性能优化(从多方面深入解析影响性能的因素及解决方法)

    足够的内存、快速的磁盘I/O、适当的CPU核心数和网络带宽都是性能优化的考量因素。 十、应用程序设计 最后,应用程序的设计和调优也不容忽视。避免长事务、减少锁定、合理使用批处理和绑定变量等,都能显著提升...

    SQL Server数据库应用程序性能优化方案研究.pdf

    SQL Server数据库性能优化方案研究主要分析了影响SQL Server数据库应用程序性能的因素,并提出了优化这些因素的技术方案。具体知识点如下: 1. 数据库应用程序性能优化的重要性:随着信息时代的到来,数据量不断...

    高强冷弯薄壁型钢墙架结构受剪性能影响因素研究

    本文主要研究了影响冷弯薄壁型钢墙架结构受剪性能的各种因素,并运用有限元法进行了相关分析。文中提到的关键词“高强冷弯薄壁型钢”、“墙架结构”、“受剪性能”、“有限元分析”和“低层住宅结构”构成了本研究的...

    影响SQL SERVER数据库性能的因素及优化.pdf

    以下详细介绍了影响SQL Server数据库性能的内存配置与I/O子系统的因素,并提供了优化建议。 内存配置是影响SQL Server性能的重要因素之一。SQL Server能够动态地管理内存,这意味着它可以根据需要为内存池分配和...

    影响网络信息检索效率的因素

    - **自动索引程序**:自动索引程序的性能直接影响到信息检索的质量。比如,标引的深度决定了检索结果的全面性;标引的准确度则关系到结果的相关性和精确度;搜索范围的大小则影响到检索结果的覆盖率。 - **数据库的...

    测试邮件服务器性能的程序

    在IT行业中,测试电子邮件服务器的性能是至关...总的来说,测试邮件服务器性能是一个涉及多方面因素的过程,这个基于Linux的程序提供了一个有效的手段,帮助IT专业人员评估和优化他们的邮件基础设施,以满足业务需求。

Global site tag (gtag.js) - Google Analytics