锁定老帖子 主题:性能(调优)三种吹毛求疵的行为
精华帖 (13) :: 良好帖 (2) :: 新手帖 (0) :: 隐藏帖 (14)
|
|
---|---|
作者 | 正文 |
发表时间:2012-06-09
Kisses99 写道 pipilu 写道 Kisses99 写道 哪个便宜调哪个。调jvm参数是秒调的,所以干嘛不先试试?
jvm当然只是一个方面,http服务器的conf文件某些参数也是很有必要的,也是秒调,干嘛不先试试? 从business的角度来说,花一点钱,看到一点效果,最喜欢是花一点钱,看到很多效果。别从程序员的眼睛里看东西。 jvm的默认参数在真正的production环境里是有很大问题的。这个有很多公式。根据自己的应用环境改变参数是基本要求。谁上线会用默认参数?? 第二条看似有道理,其实是废话。谁都知道水平扩展能提高系统容量,但是不要忘记,系统复杂度也增加了,硬件开销也增加了。不知道哪家公司财大气粗,想加硬件就加硬件,要么是人傻钱多。。。 第三条也是废话,这是基本要求。调到cpu90以上还叫调优么? 这哥们儿就是典型的只管喷的那种。 第二条第三条你确定你去理解楼主的意思了么?而且你恰恰说反了,什么“系统复杂度也增加了”,支持水平扩展其实是更简单更优雅的解决方式。 JVM调优我所了解的,是收效最不明显的,而且正如楼主所说,没有针对性的。好多JVM调优实践其实只能临时应付一时之需。 当然,硬件,钱投下去当然简单当然优雅。请问在系统可以无限制水平扩展的前提下,还要“性能调优”做什么?只要有钱,自然天下第一咯。你敢说水平扩展系统复杂度反而降低了?不说别的,光部署这一块,复杂度明显是提高了。 跟楼主说的不是一个点上,的确是为了喷而喷了。 |
|
返回顶楼 | |
发表时间:2012-06-09
最后修改:2012-06-09
13个人点了隐藏贴,让我想起来去年的一个高达95个人回复的帖子也因为有数人点了隐藏贴而失去了深入讨论的机会。我想一般如果是想参与讨论技术的话想共同进步的话,一定不会在点隐藏贴的。敢点隐藏贴的为何不不站出留个名,或者把隐藏的原因说出来,是帖子哗众取宠了,还是攻击他人了,还是空洞无意义了,还是帖子太幼稚了,或是说了对有些人来说不愿意听到的观点?
感谢那些评论此贴为精华帖的人,同时也对毫无理由的评隐藏贴的感到气愤,这无益于javaeye论坛的健康发展 |
|
返回顶楼 | |
发表时间:2012-06-09
最后修改:2012-06-09
ccr1988 写道 javamonkey 写道 ccr1988 写道 楼主的观点害人,仅jvm一点你就没有明白是怎么回事?你可以看下,iteye自己版主分析的“深入理解Java虚拟机:JVM高级特性与最佳实践”,调优一点你搞明白了,足够你这辈子吃饭的了,国内任何一家大公司精通jvm调优薪水都是开发的几倍,你没有明白别要乱发表言论,谢谢,友情提醒。
如果精通JVM,他也往往精通其他知识,这才是薪水高于其他的人原因。调优是个系统工程。我只实践或者见到过上层调优对系统的优化,而没有见到过虚拟机就调优对系统的优化。 我不否认需要深入了解虚拟机,譬如,内存溢出了,你怎么通过dump文件或者OQL去查找分配过多的对象,或者虚拟机设置-hrof cup=samples 来查看哪些业务调用所化时间长, 但这不是调优的唯一和主要方式 不精通java的人,能研究jvm吗??有资格评论jvm吗?太肤浅了吧, 笼统的记那些指令没任何价值,真正的难点你是不可能解决一个的,iteye版主里就有jvm的高手,那些都是架构师你可以咨询下看看差距有多大?调优 有些是笼统的,而你发现问题才是关键,有些大师级难点,你对jvm没有足够的认识这辈子你都发现不了,又何谈优化呢?学习编程语言是要理解其思想,片面的拿其指令做所谓的优化永远成不了大师,jvm永远跟性能联系在一起,如果你足够牛你可以像IBM那样拥有自己的jvm引擎,自己写算法提高性能,谈指令都是菜鸟级的。 掌握一门学问分三个阶段,分别是守破离,守就是掌握,无论是掌握java语言还是虚拟机内部实现,那都仅仅是掌握,没有菜鸟跟大师的区别。只在第一个阶段,都算不上大师。等到了第三个阶段,再称大师还差不多。 如果像你说谈指令都是菜鸟,那Marting flow 就肯定也是菜鸟了,他谈的都是总是上层的应用,软件过程 按照你的逻辑,读研俩年,天天看虚拟机规范,那毕业就是大师了? 另外,如果我是JVM的实现者,我的理想的JVM状态是开发人员尽量忽略我这一层。所谓好的东西,都通常都感觉不到它的存在,譬如空气,水。再譬如现在拥有自调优,宣称不需要DBA过多介入的各种数据库,以及越来越多的Java EE 应用服务器。如果我做的JVM还需要使用者这样注意,那要小心,那我做的JVM是失败的。我举这个例子是提醒你,学好你应该学好的东西,这样你的薪水会上去,这些东西,除非你工作用得着,不妨5年,10年后再看 |
|
返回顶楼 | |
发表时间:2012-06-09
javamonkey 写道 ccr1988 写道 javamonkey 写道 ccr1988 写道 楼主的观点害人,仅jvm一点你就没有明白是怎么回事?你可以看下,iteye自己版主分析的“深入理解Java虚拟机:JVM高级特性与最佳实践”,调优一点你搞明白了,足够你这辈子吃饭的了,国内任何一家大公司精通jvm调优薪水都是开发的几倍,你没有明白别要乱发表言论,谢谢,友情提醒。
如果精通JVM,他也往往精通其他知识,这才是薪水高于其他的人原因。调优是个系统工程。我只实践或者见到过上层调优对系统的优化,而没有见到过虚拟机就调优对系统的优化。 我不否认需要深入了解虚拟机,譬如,内存溢出了,你怎么通过dump文件或者OQL去查找分配过多的对象,或者虚拟机设置-hrof cup=samples 来查看哪些业务调用所化时间长, 但这不是调优的唯一和主要方式 不精通java的人,能研究jvm吗??有资格评论jvm吗?太肤浅了吧, 笼统的记那些指令没任何价值,真正的难点你是不可能解决一个的,iteye版主里就有jvm的高手,那些都是架构师你可以咨询下看看差距有多大?调优 有些是笼统的,而你发现问题才是关键,有些大师级难点,你对jvm没有足够的认识这辈子你都发现不了,又何谈优化呢?学习编程语言是要理解其思想,片面的拿其指令做所谓的优化永远成不了大师,jvm永远跟性能联系在一起,如果你足够牛你可以像IBM那样拥有自己的jvm引擎,自己写算法提高性能,谈指令都是菜鸟级的。 掌握一门学问分三个阶段,分别是守破离,守就是掌握,无论是掌握java语言还是虚拟机内部实现,那都仅仅是掌握,没有菜鸟跟大师的区别。只在第一个阶段,都算不上大师。等到了第三个阶段,再称大师还差不多。 如果像你说谈指令都是菜鸟,那Marting flow 就肯定也是菜鸟了,他谈的都是总是上层的应用,软件过程 按照你的逻辑,读研俩年,天天看虚拟机规范,那毕业就是大师了? 另外,如果我是JVM的实现者,我的理想的JVM状态是开发人员尽量忽略我这一层。所谓好的东西,都通常都感觉不到它的存在,譬如空气,水。再譬如现在拥有自调优,宣称不需要DBA过多介入的各种数据库,以及越来越多的Java EE 应用服务器。如果我做的JVM还需要使用者这样注意,那要小心,那我做的JVM是失败的。我举这个例子是提醒你,学好你应该学好的东西,这样你的薪水会上去,这些东西,除非你工作用得着,不妨5年,10年后再看 一群连调优的概念都没搞清楚的人,还在大谈特谈什么调优经验。 Martin是研究方法论的,人家也不搞调优。 实际生产环境,能忽略的东西,真的存在么? |
|
返回顶楼 | |
发表时间:2012-06-10
最后修改:2012-06-10
kimmking 写道 tag13346 写道 同意楼上,这个帖子从早上讨论到晚上,大家洗洗睡了吧
调优是系统工程师的活儿,一般要求非常懂性能测试、jvm、db、os... jvm对应用的影响例子多的是,os对应用影响的例子也举不胜举。 谁调谁知道。我以前跑在windows上的某个应用甚至调优最后发现xp的某个补丁对系统性能有严重影响。 啥也不说了,都开始说我粗鲁、言之无物。(也许咱讨论技术就这样脾气,不喜欢的请绕道。。。) 附送一个前同事的性能测试+问题分析+调优的 讲义。 @javamonkey同学的beetl还是很好的,提一下文档的小问题: beetl/guide.pdf最开头的日期是不是写错? 2012-6-30还没到呢。 性能测试,问题定位与调优.pdf 谢谢你关注beetl,是挺好的,你可以关注或者推荐给朋友使用。文档更新日期笔误了,应该是2012-6-03.下次更新的时候改掉 |
|
返回顶楼 | |
发表时间:2012-06-11
好久没看到这么激烈的讨论了。。
|
|
返回顶楼 | |
发表时间:2012-07-27
第一点不认同:虚拟机调优在我看来,是最首先要做的,缺省的虚拟机参数,没有什么系统会在生产环境使用。最简单象内存大小,永久代内存区大小,垃圾回收方式等,是需要根据系统情况在初次上线时就要调整的。
|
|
返回顶楼 | |
发表时间:2012-07-27
liuyongqian 写道 第一点不认同:虚拟机调优在我看来,是最首先要做的,缺省的虚拟机参数,没有什么系统会在生产环境使用。最简单象内存大小,永久代内存区大小,垃圾回收方式等,是需要根据系统情况在初次上线时就要调整的。
说的没错,线上今本上要做一些JVM参数的经验设置和尝试,不过我说的性能调优不是这个,而是性能问题驱动导致的调优过程 |
|
返回顶楼 | |