• 请不要在回答技术问题时复制粘贴 AI 生成的内容
cnbattle
V2EX  ›  程序员

日活 3K 左右的 app,后端有必要上 Java 吗?

  •  
  •   cnbattle ·
    cnbattle · Dec 17, 2017 via Android · 14486 views
    This topic created in 3253 days ago, the information mentioned may be changed or developed.

    目前是 php,thinkphp5.0

    我的感觉是 php 又背锅,让我们看看 Java 书,3K 左右的日活就是这样,php 都没玩的怎么样,就要上 Java,之前还提过要换 nodeJS …

    目前对公司程序的了解,问题是在数据库方面,无内部编码规范,数据库设计规范,导致数据库结构惨不忍睹,有很多在我去之前遗留的数据库设计问题,不同属性的数据存在同一个字段里…本人虽然技术一般,但对技术规范代码质量等还是有一些追求的

    怎么变成吐槽了…干的就是没那么顺心

    Supplement 1  ·  Dec 18, 2017
    1.珠宝行业,互联网转型做的 app,养活公司没啥问题
    2.不是黑 php 啊,别跑题了,同事一说都是三五年以上的 phper,我入职面试时自称一年半,不敢称两年的,也点绝望啊,我只是接触 web wap 网站时间久点,大概 10 年在学校开始的折腾的,但只是对别人的程序 html 级别的折腾
    99 replies  •  2017-12-20 13:06:32 +08:00
    toarya
    toarya
    Dec 17, 2017
    1
    微博不也是 PHP 么,和语言关系不大。
    loading
    loading
    Dec 17, 2017 via Android
    2
    php 哪个版本,7 不是很彪悍吗?
    firefox12
    firefox12
    Dec 17, 2017 via iPhone
    3
    3k 日活是什么项目?能养活一个公司吗?
    nosay
    nosay
    Dec 17, 2017❤️4
    4
    脱离了当前开发人员的技能水平,然后讨论上哪个语言,有什么意义?现学现卖,真不把 java 当回事啊...
    sagaxu
    sagaxu
    Dec 17, 2017❤️2
    5
    我司 app 日活是你 1000 倍以上了,照样用 PHP 扛住了啊
    zhx1991
    zhx1991
    Dec 17, 2017❤️2
    6
    3k 和语言没啥关系
    wxsm
    wxsm
    Dec 17, 2017 via iPhone❤️2
    7
    现学一个月 java,不知道能扛住 300 不
    zjsxwc
    zjsxwc
    Dec 17, 2017
    8
    楼主自己都说了是数据库方面问题了(数据库设计以及 SQL 查询效率问题),那么楼主领导让他换 Java,就是外行指挥了,跳槽吧
    prolic
    prolic
    Dec 17, 2017
    9
    3k 日活都吃不下还是想想其他的问题吧,php 达到 300qps 还是毫无压力的
    alwayshere
    alwayshere
    Dec 17, 2017
    10
    这就好比一个日访问量 3k ip 的网站,用 php 行不行?别说 php,你用小霸王做服务器都行,这么小的访问量,php 不背这个锅
    alwayshere
    alwayshere
    Dec 17, 2017
    11
    忘了说了,我手上一个曾经 3k ip 的站,自己用 php 写的,平均在线 30 人,还不是一样跑的飞起
    zj299792458
    zj299792458
    Dec 17, 2017 via iPhone
    12
    这么小,用 python 就够了
    bramblex
    bramblex
    Dec 17, 2017❤️5
    13
    日活 3k ...

    我们这些专业 php 黑都看不下去了...
    bramblex
    bramblex
    Dec 17, 2017
    14
    @zj299792458

    我们拿 python 撑过 800 w uv / 3000 w pv / 20 w 活跃用户.
    jtsai
    jtsai
    Dec 17, 2017 via Android❤️1
    15
    你们有考虑换过一个运维人员吗?
    dangge
    dangge
    Dec 17, 2017❤️1
    16
    你们需要请一个 DBA 来咨询.
    laohubuchiyu
    laohubuchiyu
    Dec 17, 2017❤️3
    17
    哪个公司的瓶颈在语言啊
    tomczhen
    tomczhen
    Dec 17, 2017❤️1
    18
    已经上线的项目,就算能解决初期造遗留的问题也需要很大的代价——技术债务越晚偿还代价越高,根本不是多个岗位能简单解决的事。

    要是真有专业点的运维或者 DBA 也根本不会出现现在的问题。

    说白了就是“短期高估”——期望一个运维 /DBA 能解决所有问题;“长期低估”——运维 /DBA 又没多少工作量,专门请一个太浪费,让开发顺便干了就行。
    beginor
    beginor
    Dec 17, 2017 via Android❤️1
    19
    应该花心思重构数据库了吧
    Lax
    Lax
    Dec 17, 2017 via iPad
    20
    做容量评估了吗,做高可用了吗,做备份(和恢复)方案了吗?

    本人长期提供兼职运维咨询服务,欢迎联系。
    eDeeraiD0thei6Oh
    eDeeraiD0thei6Oh
    Dec 17, 2017
    21
    直接说什么 app 大家分析帮你
    chinvo
    chinvo
    Dec 17, 2017
    22
    直接说什么 app 大家以后好躲着点
    lhx2008
    lhx2008
    Dec 17, 2017
    23
    php 3k 撑不住,java 3k 的时候肯定已经挂了
    pynix
    pynix
    Dec 17, 2017
    24
    不同属性的数据存在同一个字段里?
    json
    serializer
    cnbattle
    cnbattle
    OP
    Dec 17, 2017 via Android
    25
    @pynix 不是纯链接在一起组成 title
    chinvo
    chinvo
    Dec 17, 2017
    26
    优化数据库啊

    之前重构一个系统,只重构了数据库和数据抽象层就得到大幅度性能提升
    winglight2016
    winglight2016
    Dec 17, 2017
    27
    这点用户量,整个系统推翻了重做代价比较小,不要想着重构了,这种活就是撵人走的
    Moker
    Moker
    Dec 17, 2017
    28
    肯定不是语言问题
    alcarl
    alcarl
    Dec 17, 2017 via Android
    29
    就算数据库结构设计的再奇葩,只要适当加些合理的索引,然后堆硬件多核心 24 核心以上加大内存 64g 以上,扛 3000 个日活绝对毛毛雨。。。。。
    jiangzhuo
    jiangzhuo
    Dec 17, 2017
    30
    楼主是不是少打了一个 W 是 3kw 吧
    oswuhan
    oswuhan
    Dec 17, 2017
    31
    可以考虑下使用 BaaS 服务。国外的 firebase,国内的 leancloud、野狗、bmob,还有一个知晓云,不过该平台貌似专注微信小程序开发。
    HanSonJ
    HanSonJ
    Dec 18, 2017
    32
    平时大家黑 PHP 我都是笑笑不说话。这次忍不了,强行甩锅的节奏,重构数据库吧
    realpg
    realpg
    Dec 18, 2017
    33
    LNMP 单古董物理服务器 日千万请求无压力……
    Kilerd
    Kilerd
    Dec 18, 2017
    34
    日活 3k,平均下来 撑死就 100QPS 吧。

    这点请求 php 都搞不定,那就是你家程序员该背的锅了。
    Axurez
    Axurez
    Dec 18, 2017
    35
    要不你试试 swoole ?
    Axurez
    Axurez
    Dec 18, 2017
    36
    也不用说「据我了解」,直接 profile 一下给他看呗
    qcloud
    qcloud
    Dec 18, 2017 via iPhone
    37
    @bramblex 哈哈哈哈哈哈
    t2doo
    t2doo
    Dec 18, 2017
    38
    俺那小破公司,日活最多 10 吧,Java。。。我只想说,跟语言没关系哈
    ob
    ob
    Dec 18, 2017 via Android
    39
    我觉得有机会多学一门语言应该是好事,哈哈
    opengps
    opengps
    Dec 18, 2017
    40
    合理的架构,后端用啥都行
    sagaxu
    sagaxu
    Dec 18, 2017 via Android
    41
    @t2doo 跟语言关系不大,跟团队中位数工资关系极大
    to2false
    to2false
    Dec 18, 2017 via iPhone
    42
    日活 3k,在用 java,要不要用 c++重构(狗头
    Takahashi
    Takahashi
    Dec 18, 2017❤️1
    43
    日活 3K。。高级黑
    SourceMan
    SourceMan
    Dec 18, 2017 via iPhone
    44
    你这个黑的很有水平
    anteros
    anteros
    Dec 18, 2017
    45
    用机器码 01 吧,不然还真扛不住呢。
    Norie
    Norie
    Dec 18, 2017
    46
    php 被黑得最惨的一次,黑得不知不觉
    afeicool
    afeicool
    Dec 18, 2017
    47
    你们领导应该是行家,用 php 天天完事就可以走了,用 java 天天加班,这样看起来大家都更努力。
    alber1986
    alber1986
    Dec 18, 2017
    48
    php 码农路过,表示这个锅我们不背
    knva
    knva
    Dec 18, 2017
    49
    PHP 3k 都撑不住,java 估计早挂了.
    RorschachZZZ
    RorschachZZZ
    Dec 18, 2017
    50
    楼主是故意来黑 php 的吗。。。 。
    FradSer
    FradSer
    Dec 18, 2017
    51
    @alcarl 真鸡儿有道理
    killerv
    killerv
    Dec 18, 2017
    52
    日活 3k 就把锅甩给语言……
    8355
    8355
    Dec 18, 2017
    53
    3000 日活关键还是看并发多少. 如果只是少量并发常规访问的话 512 机器都扛得住. 你跟老板聊聊 给点时间重构一下上 php7.如果做的好年后涨点工资.
    gamecreating
    gamecreating
    Dec 18, 2017
    54
    你让我们游戏服务器 同时在线 1 万人怎么想 ....
    日活 3000 用 asp 都够了
    YMB
    YMB
    Dec 18, 2017
    55
    我能告诉你,阿里也用 PHP 吗。
    纯属架构问题!
    l9rw
    l9rw
    Dec 18, 2017
    56
    这种量级瓶颈大多在数据库,这个锅 php 不背
    OMGZui
    OMGZui
    Dec 18, 2017
    57
    就目前来看,请去说服你的领导
    SourceMan
    SourceMan
    Dec 18, 2017 via iPhone
    58
    @l9rw mysql 说请不要用这个量级侮辱我,哈哈哈
    lianxiaoyi
    lianxiaoyi
    Dec 18, 2017
    59
    这锅 php 不背,老衲单一个验证接口日活都在 800 多万以上,(4 台 2 核 4G 服务器,平均跑在 25%,遇到大户同时请求,就会有一台 CPU 到 80%,用的 DNS 负载均衡,国内带宽太 TM 贵了),日志服务器用的一台 1 核 1G 的服务器,这台服务器 php 层日请求超千万,python udp 层日请求量超 3000 万(流量太贵,所以用的 udp ),现 CPU 跑在 20%。。好好整理你们数据库才是关键。。。。
    yujieyu7
    yujieyu7
    Dec 18, 2017
    60
    这公司没前途,早点撤吧
    colinlet
    colinlet
    Dec 18, 2017
    61
    我们项目日活百万,并发上千,php 也没有背锅啊,就是负载均衡+缓存+MySQL
    0ZXYDDu796nVCFxq
    0ZXYDDu796nVCFxq
    Dec 18, 2017
    62
    并发 3K 再来考虑语言问题
    jjx
    jjx
    Dec 18, 2017
    63
    先说数据量
    再说需求

    比方说总是对百万以上的数据做汇总查询, 那怎么优化都快不了, 类似这样的需求都是以前做 c/s 企业软件的, 转到互联网带来的, 互联网应用对响应要求高, 老早的桌面内部应用对响应要求低, 在互联网化时需求需要响应调整
    zhengxiaowai
    zhengxiaowai
    Dec 18, 2017
    64
    3K 日活???? Python 不用优化分分钟扛下来
    sagaxu
    sagaxu
    Dec 18, 2017
    65
    同事一说都是三五年以上的 phper
    ~~~~~~~~~~~~~~~~~~~~~~~~~

    是一个月的经验重复了三五年,还是成长了三五年?
    xuanyan
    xuanyan
    Dec 18, 2017
    66
    百万日活,php 都扛得住,跟语言关系不大
    skadi
    skadi
    Dec 18, 2017
    67
    先做一下 性能分析吧. 看看瓶颈在哪.
    run2
    run2
    Dec 18, 2017
    68
    应该是这个吧 https://www.jaadee.com/
    那么为啥后台最先选型时没有选已有的开源架构而是用 thinkphp 做了呢 ?
    qcloud
    qcloud
    Dec 18, 2017 via iPhone
    69
    @sobigfish 好慢
    lwbjing
    lwbjing
    Dec 18, 2017
    70
    PHP 要是能说话,肯定要骂一句 mmp
    vus520
    vus520
    Dec 18, 2017
    71
    每秒请求 3000 的业务照样 php
    gaoxu387
    gaoxu387
    Dec 18, 2017
    72
    不如想想为什么会这样,解决问题才是最重要的,是数据库慢查询?是某些接口里有 curl 请求太慢?是连接了缓存服务器导致的?
    看看数据库的慢日志、缓存的慢日志、php-fpm 的慢日志,结合 app 的日志、xdebug、strace、gdb 分析分析吧
    cnbattle
    cnbattle
    OP
    Dec 18, 2017 via Android
    73
    @sobigfish 额,是… app 年初开始做的,我 7 月入职的
    satanandroid
    satanandroid
    Dec 18, 2017
    74
    后台同 thinkphp 日活 10W
    php 表示,这个锅我不背
    sutra
    sutra
    Dec 18, 2017
    75
    要想横向扩展,主要看架构,不是语言。
    wekw
    wekw
    Dec 18, 2017
    76
    只可能是数据库问题
    LukeChien
    LukeChien
    Dec 18, 2017 via Android
    77
    上 Java 也不行,得上 Oracle
    vjnjc
    vjnjc
    Dec 18, 2017
    78
    话说改数据库字段的话要改查询代码的吧。。。
    这种情况简单粗暴是不是只能开索引,堆硬件?也不能拆到多台数据库服务器吧?
    leibusi
    leibusi
    Dec 18, 2017 via Android
    79
    又黑我大 PHP
    likuku
    likuku
    Dec 18, 2017
    80
    工作资历长短,和能力并不能直接划等号,职场里这是常识了吧。
    Denny
    Denny
    Dec 18, 2017
    81
    @cnbattle 求头像原图
    cnbattle
    cnbattle
    OP
    Dec 18, 2017❤️1
    82
    @vjnjc 已经到了加索引和缓存不能解决问题的地步了,服务器是分布式数据库集群,话说公司服务器是个大牛,给 freebsd 贡献代码的人,都是一开始数据库表设计不好,还有一个内部需要变更太频繁
    mrzero
    mrzero
    Dec 18, 2017
    83
    你得知道性能瓶颈在哪才能优化啊…… 3k 的日活,能有啥瓶颈
    atcdef
    atcdef
    Dec 18, 2017
    84
    这类型的后端,应该是以读为主吧,既然这样的话,如果性能瓶颈确实出在数据库上,直接上多个数据库副本,分摊一下查询请求,把眼下的问题先应付过去再说。然后再慢慢想办法重构也好,重做也罢,走人也行,看着办,哈哈
    we3613040
    we3613040
    Dec 18, 2017
    85
    垃圾啊,日活 3k,关语言什么关系,素质不行明显
    mrzero
    mrzero
    Dec 18, 2017
    86
    先把慢查询一个个找出来,改表结构、迁数据,加索引;再不行加 proxy 上 MySQL 集群;然后如果是读多,加一层 redis 缓存……但我感觉日活 3k …… emmmmm
    woshipanghu
    woshipanghu
    Dec 18, 2017
    87
    说分布式 集群 缓存的好笑不好笑
    3k 日活 1 核 1g 的服务器都稳稳的处理了 还需要那么多花样?
    Moker
    Moker
    Dec 18, 2017
    88
    谈谈数据量吧 加了索引和缓存都还不行?
    cnbattle
    cnbattle
    OP
    Dec 18, 2017
    89
    @woshipanghu 我说的只是 app 日活 pc 的也是在一起的,具体不详
    slgz
    slgz
    Dec 18, 2017
    90
    @tomczhen 所以,对于已上线的项目。后期要整改的时候,也就是解决之前遗留的问题,没什么好办法了吗?
    for8ever
    for8ever
    Dec 18, 2017
    91
    用 Node.js 吧,自学 3 小时后就可以了,日活 300k 都没问题
    vjnjc
    vjnjc
    Dec 18, 2017
    92
    @cnbattle 我倒是感觉日活 3k 挺多的呀,对我们这种小公司来说
    funcman
    funcman
    Dec 18, 2017
    93
    这个日活,随便写个 PHP 挂到应用云上不就行了。
    pynix
    pynix
    Dec 18, 2017
    94
    @pynix 如果只是单纯显示,没有解析拆分的需求,那也可以吧。。。
    tomczhen
    tomczhen
    Dec 18, 2017
    95
    @slgz 技术债务总是要还的,只是什么时候还,由谁来还的问题。并不是说不欠债就是好的,有时也会为了一些妥协而主动选择债务。

    再说了,项目没到还债的时候就死掉的也是很多的。不管是主动选择还是被动,债务只要可控就是可以接受的——大不了离职嘛 ¯\_(ツ)_/¯。

    通常说的解决方案就是重构,不过出于自身利益风险考虑我觉得更多人都喜欢重写——毕竟就算是一坨屎也是自己的香一些。

    我只是一个负责背锅的运维,代码重构的经验还是让开发来传授吧,毕竟他们经验比较多 :doge:
    tanszhe
    tanszhe
    Dec 18, 2017
    96
    是来搞笑的吧,3000 日活太小了 几乎就是九牛一毛 忽略不计
    alcarl
    alcarl
    Dec 18, 2017 via Android
    97
    @cnbattle 3000 日活的 app 还有缓存的分布式数据库集群。。。。。。。。你这三千人是每秒操作一百次以上录入 50 条以上数据的机器人吗?( ̄へ ̄)
    Sapp
    Sapp
    Dec 18, 2017 via iPhone
    98
    go、ruby 五年经验的可以当十年用,php 五年的你就当两年用,这样就不会出问题了,真不是看不起这个语言,而是 php 用的公司太多了,大量的低端外包公司都用他,你根本不知道他是不是做了五年的建站。
    LJ2010
    LJ2010
    Dec 20, 2017
    99
    和 php 有毛关系。。。90%都是代码问题,如果真是 php 有问题。。那么 baidu,facebook 什么的还用 php 干嘛?
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1117 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 150ms · UTC 18:12 · PVG 02:12 · LAX 10:12 · JFK 13:12
    ♥ Do have faith in what you're doing.