V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Joker123456789
V2EX  ›  Java

一次简单的性能测试

  •  
  •   Joker123456789 · 2021-02-01 09:19:25 +08:00 · 3879 次点击
    这是一个创建于 1397 天前的主题,其中的信息可能已经有所发展或是发生改变。

    链接地址

    https://www.bilibili.com/video/BV1vr4y1K782

    此次测试公分为了两部分,本地测了一波,阿里云服务器上测了一波。 并且还跟某流行框架做了比较。

    有兴趣的可以看看哦。

    26 条回复    2021-02-02 11:35:03 +08:00
    xuanbg
        1
    xuanbg  
       2021-02-01 10:35:08 +08:00
    框架性能好没鸟用,好用易用才重要。这还是没有数据库访问的,加上数据库,性能差异就更微乎其微了。
    focuxin
        2
    focuxin  
       2021-02-01 11:35:07 +08:00   ❤️ 1
    现在做开源总是被人泼凉水不知道是什么风气,我感觉挺好的啊,经常刷到题主的帖子
    sudoy
        3
    sudoy  
       2021-02-01 11:48:31 +08:00
    @focuxin 同样的话,换种表述让别人听起来舒服。可惜现在都是这种风气,也是件很悲哀的事情。
    Joker123456789
        4
    Joker123456789  
    OP
       2021-02-01 12:03:31 +08:00   ❤️ 4
    @xuanbg

    首先,我承认世界上没有完美的东西,我也不会自大到认为这个东西很牛逼。 但是我给你个建议吧。

    你可以试用以后,把你认为不好用,不易用的地方列出个一二,这样才是正确的交流。

    然后对于你说的数据库这块,你可以自己连上数据库自己亲自测一下,然后把测试报告贴出来, 你拿着测试报告来骂我 ,我也比较好接受 而且这样我也没有回嘴的余地。

    但你现在是凭借主观臆断,以及内心对外物的抵制情绪,直接吐槽不好用,不易用。

    我想说 没有人有义务被你喷的。
    luozic
        5
    luozic  
       2021-02-01 13:10:48 +08:00
    nice,实际按 oracle 公开的 ppt,Java 并发的未来是 project loom 。 不过这货 jdk 17 能不能上是个问题,如果 jdk17 上了,估计有不少项目有一定的升级动力。
    xuanbg
        7
    xuanbg  
       2021-02-01 13:21:56 +08:00   ❤️ 1
    @Joker123456789 咦?我有喷什么了吗?那一句话不是在描述事实?我也没说你的框架不好用啊。然后,数据库性能好不好和你框架有个什么关系?在一个请求的整个数据流程中,框架占的时间比例本来就很低很低。框架性能提高 1 万倍,能缩短请求时间一半吗?
    abersheeran
        8
    abersheeran  
       2021-02-01 13:25:54 +08:00
    @Joker123456789 不用理他,这种典型是自己搞不出来,就给别人挑刺试图让自己觉得别人的水平跟他一样低,以满足自己的心理平衡。
    byte10
        9
    byte10  
       2021-02-01 13:34:21 +08:00
    @luozic 你是高手,能说出 loom,说明对协程,nio 都有了解。实际上 loom 只不过是协程,让代码好写一些,kotlin 有实现。协程并没有给高并发带来性能上的 提升,只是把异步变成了同步编程。异步编程才是性能的极限。当然协程也是没多大的损失,也许就是千分之一,百分之一。可惜 java 不争气,遥遥无期。
    proxychains
        10
    proxychains  
       2021-02-01 13:35:32 +08:00
    @Joker123456789 杠精无处不在.直接 block 就行.
    byte10
        11
    byte10  
       2021-02-01 13:37:00 +08:00
    @xuanbg 额, 如果数据库瓶颈不存在,比如用 mongodb, 。那么肯定要比较应用层的性能啊。
    icyalala
        12
    icyalala  
       2021-02-01 13:40:00 +08:00
    建议把 benchmark 代码放 Github,结果也输出个 Chart 放上去。
    Joker123456789
        13
    Joker123456789  
    OP
       2021-02-01 14:01:06 +08:00
    @xuanbg 好吧,我理解错了,不好意思。

    我以为你说的是 程序调用数据库的性能,原来是说的数据库本身的性能。是我理解错了,不好意思。
    Varobjs
        14
    Varobjs  
       2021-02-01 14:07:59 +08:00   ❤️ 2
    我觉得一楼没杠啊,单纯说框架性能确实没啥鸟用,感觉只有一个推广吹的用处。
    为什么很多人那么敏感
    hronro
        15
    hronro  
       2021-02-01 14:16:55 +08:00
    如果是你自己些的框架,建议可以给 TechEmpower 的 Benchmark 提一波 PR,把你自己的框架加进去,这个算是比较知名的 Web 框架性能测试了,对比的也比较全面:
    https://github.com/TechEmpower/FrameworkBenchmarks
    zoharSoul
        16
    zoharSoul  
       2021-02-01 14:22:28 +08:00
    测试包放百度网盘我也是惊呆了...
    Joker123456789
        17
    Joker123456789  
    OP
       2021-02-01 14:23:34 +08:00
    @zoharSoul

    不需要协作,不需要持续维护。就是两个用来做测试的 demo 。 仅供下载用。

    所以放网盘有啥惊呆的。
    abersheeran
        18
    abersheeran  
       2021-02-01 17:36:54 +08:00
    @Varobjs 你费精力做了个无偿给大家用的东西,别人上来一句“xxx 好,没鸟用”,你会怎么想?没有直接开骂我觉得这已经很有涵养了。
    Varobjs
        19
    Varobjs  
       2021-02-01 17:55:38 +08:00   ❤️ 1
    @abersheeran 如果只说“xx 不好,没鸟用” 确实恶心,但是人家没说你框架没鸟用,也没说性能没鸟用,这不是限定条件了吗,“单纯”比较框架性能(可能现在网上太多 xx 框架性能吊打 xx 的文章),如果但凡别人说一点不好都是杠,建议只看 1024 网站,都是楼主好人
    abersheeran
        20
    abersheeran  
       2021-02-01 18:37:40 +08:00   ❤️ 2
    @Varobjs 关键是他用过了吗?他能说出什么实际上的缺点吗?一句人云亦云的“框架性能没鸟用”,这不就是泼冷水吗?同样的,不管你做什么,我都可以说“你做这个有鸟用,能赚到深圳一套房吗?你学这个有鸟用,能赚到北京一套四合院吗?”你什么感受?

    都说中国开源氛围不行,这就是最直接的表现。无论是谁的开源项目,只要没损害自身的利益,起码的尊重还是要有的吧?没人逼着谁用什么项目,但是进来直接泼冷水是什么意思?

    有时候真觉得某些中国人就不配有中文的开源项目用。一点尊重都没有。
    xuanbg
        21
    xuanbg  
       2021-02-02 09:00:31 +08:00
    @abersheeran 我费心思费精力写的开源项目多了,欢迎你来实事求是地喷“没鸟用”。如果你在 v2 连我的 github 都找不到,那我也只能呵呵了。

    类似楼主的框架,本身就应该在功能定位上发力,而不是在性能。而且我绝不认为这一点认知是错误的,因为显而易见,即使框架处理时间为 0,你的接口响应时间最多能减少几个毫秒?说起来吊得很,性能对比 xxx 框架提升 xx 倍,实际在项目中的效果呢???这种盲目攀比性能的歪风邪气,可以休矣。当然,如果你有什么理由可以拿出来探讨。开源是共享不是施舍,没必要高高在上吧?至于玻璃心,就更要不得了。
    abersheeran
        22
    abersheeran  
       2021-02-02 09:32:41 +08:00
    @xuanbg 我不是 Java 用户,看了一眼你的主页,都是 Java 项目,我用不上。但是我对你的项目起码能保持最基本的尊重——“不泼冷水”。

    我们用的语言不一样,“框架的性能对比没什么大用”这种事也能达成一致。但是你是否考虑过性能对比是最重要的宣传方法之一?拿 Python 圈这半年火遍全球的 Web 框架 FastAPI 来说,这玩意真有什么技术上的突破吗?它的功能之前的框架也有,它的爆火是因为什么我不知道。但我知晓的许多人认识它、使用它,是因为它的宣传语:“跟 Golang 一样快”。这是不是一种基于性能对比的宣传语?甚至它还是虚假的。但是不妨碍它的广泛传播。它甚至被微软里搞 AI 的人看上,放在微软的部分核心产品里使用。它的营销如何,事实胜于雄辩。但是如果它刚出来的时候,一群人对着它泼冷水,“性能好没鸟用”,“你没有 golang 快”,把作者喷到心态炸了,哪有今天几万颗星的成就?

    如上所说,我不是 Java 用户,我跟这哥们的框架一毛钱关系都没有。我本可以不浪费时间在这种东西上,但是我实在是不想看到这种风气。对别人免费开源的项目泼冷水的风气。
    Joker123456789
        23
    Joker123456789  
    OP
       2021-02-02 09:44:17 +08:00
    @xuanbg

    你看,我这昨天刚给你道过歉,你又说这种话了。 哎~~,虽然你回复不是我,但是你们聊的话题是围绕这个帖子展开的,也算跟我有关系吧。

    你的真实意思可能是“一个框架光性能好没鸟用”, 但是你字里行间透露出的意思就是“这个帖子里的这个框架没鸟用, 发这个性能测试就是在炫技,吹嘘自己有多快”

    你在表达上可能有点问题。 以上是我给你的建议。

    你说“你费心思费精力写的开源项目多了,欢迎别人来实事求是地喷 没鸟用”, 到了你头上你也想让别人 [实事求是] 来喷你了不是? 怎么你喷别人 [就不知道要实事求是] 呢? 你用一用,体验一下,然后 实事求是,有理有据的来说 没鸟用 好吗? 最好能说出具体哪里没鸟用, 这我都是欢迎的,咱也不是不讲道理的人。

    还有一点啊,如果一个框架 连性能如何 都不知道,你不觉得有点虚吗? 起码跟主流框架相差不大 才行吧,这是底线。这也是我公布性能测试的最大原因。 却被你理解成在这炫技, 而且我也没达到炫技的程度啊,在本地测试仅仅比 springboot 多了 2000 个吞吐量,服务器上测试 受带宽影响 性能几乎差不多了。 只是 CPU 和内存占用比 springboot 小了 3 倍。 我现在都怀疑你不仅没体验我的框架,甚至连视频都没看 就开始发表见解了。

    程序的性能并非你说的那么无关紧要,不然为何要一代代的升级 JVM,有了 BIO,还要有 NIO, AIO ?
    xuanbg
        24
    xuanbg  
       2021-02-02 11:28:27 +08:00
    @Joker123456789 我也给你道个歉,确实语气上容易让人误解。性能这个东西有些地方是不惜代价越高越好,有些地方是适可而止才是最好的。性能不是框架的全部,更重要的是易用和好用。我绝没有你的框架不好用的不易用的意思,只是建议你在这两方面多下功夫和宣传而已。

    好吧,再次给你道歉。
    xuanbg
        25
    xuanbg  
       2021-02-02 11:31:40 +08:00
    @abersheeran ok,我明白你的意思了,也给你道个歉。
    xuanbg
        26
    xuanbg  
       2021-02-02 11:35:03 +08:00
    @abersheeran 虽然是 Java 项目,但与业务无关,属于业务的基础支撑。如果要搞一个微服务,那么在我的项目的基础上,就可以只关注业务了。那些支撑业务的数据,譬如商户、用户、权限等等,都可以简单配置一下就有了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4563 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 10:05 · PVG 18:05 · LAX 02:05 · JFK 05:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.