目前是 php,thinkphp5.0
我的感觉是 php 又背锅,让我们看看 Java 书,3K 左右的日活就是这样,php 都没玩的怎么样,就要上 Java,之前还提过要换 nodeJS …
目前对公司程序的了解,问题是在数据库方面,无内部编码规范,数据库设计规范,导致数据库结构惨不忍睹,有很多在我去之前遗留的数据库设计问题,不同属性的数据存在同一个字段里…本人虽然技术一般,但对技术规范代码质量等还是有一些追求的
怎么变成吐槽了…干的就是没那么顺心
1
toarya 2017-12-17 19:08:32 +08:00
微博不也是 PHP 么,和语言关系不大。
|
2
loading 2017-12-17 19:09:19 +08:00 via Android
php 哪个版本,7 不是很彪悍吗?
|
3
firefox12 2017-12-17 19:14:22 +08:00 via iPhone
3k 日活是什么项目?能养活一个公司吗?
|
4
nosay 2017-12-17 19:14:48 +08:00 4
脱离了当前开发人员的技能水平,然后讨论上哪个语言,有什么意义?现学现卖,真不把 java 当回事啊...
|
5
sagaxu 2017-12-17 19:15:35 +08:00 2
我司 app 日活是你 1000 倍以上了,照样用 PHP 扛住了啊
|
6
zhx1991 2017-12-17 19:16:03 +08:00 2
3k 和语言没啥关系
|
7
wxsm 2017-12-17 19:18:47 +08:00 via iPhone 2
现学一个月 java,不知道能扛住 300 不
|
8
zjsxwc 2017-12-17 19:20:13 +08:00
楼主自己都说了是数据库方面问题了(数据库设计以及 SQL 查询效率问题),那么楼主领导让他换 Java,就是外行指挥了,跳槽吧
|
9
prolic 2017-12-17 19:20:55 +08:00
3k 日活都吃不下还是想想其他的问题吧,php 达到 300qps 还是毫无压力的
|
10
alwayshere 2017-12-17 19:22:34 +08:00
这就好比一个日访问量 3k ip 的网站,用 php 行不行?别说 php,你用小霸王做服务器都行,这么小的访问量,php 不背这个锅
|
11
alwayshere 2017-12-17 19:23:56 +08:00
忘了说了,我手上一个曾经 3k ip 的站,自己用 php 写的,平均在线 30 人,还不是一样跑的飞起
|
12
zj299792458 2017-12-17 19:26:41 +08:00 via iPhone
这么小,用 python 就够了
|
13
bramblex 2017-12-17 19:29:45 +08:00 5
日活 3k ...
我们这些专业 php 黑都看不下去了... |
14
bramblex 2017-12-17 19:30:42 +08:00
|
15
jtsai 2017-12-17 19:43:24 +08:00 via Android 1
你们有考虑换过一个运维人员吗?
|
16
dangge 2017-12-17 19:46:19 +08:00 1
你们需要请一个 DBA 来咨询.
|
17
laohubuchiyu 2017-12-17 19:55:17 +08:00 3
哪个公司的瓶颈在语言啊
|
18
tomczhen 2017-12-17 20:01:03 +08:00 1
已经上线的项目,就算能解决初期造遗留的问题也需要很大的代价——技术债务越晚偿还代价越高,根本不是多个岗位能简单解决的事。
要是真有专业点的运维或者 DBA 也根本不会出现现在的问题。 说白了就是“短期高估”——期望一个运维 /DBA 能解决所有问题;“长期低估”——运维 /DBA 又没多少工作量,专门请一个太浪费,让开发顺便干了就行。 |
19
beginor 2017-12-17 20:08:15 +08:00 via Android 1
应该花心思重构数据库了吧
|
20
Lax 2017-12-17 20:10:25 +08:00 via iPad
做容量评估了吗,做高可用了吗,做备份(和恢复)方案了吗?
本人长期提供兼职运维咨询服务,欢迎联系。 |
21
eDeeraiD0thei6Oh 2017-12-17 20:11:38 +08:00
直接说什么 app 大家分析帮你
|
22
chinvo 2017-12-17 21:13:23 +08:00
直接说什么 app 大家以后好躲着点
|
23
lhx2008 2017-12-17 21:16:09 +08:00
php 3k 撑不住,java 3k 的时候肯定已经挂了
|
24
pynix 2017-12-17 21:31:52 +08:00
不同属性的数据存在同一个字段里?
json serializer |
26
chinvo 2017-12-17 21:38:19 +08:00
优化数据库啊
之前重构一个系统,只重构了数据库和数据抽象层就得到大幅度性能提升 |
27
winglight2016 2017-12-17 21:47:47 +08:00
这点用户量,整个系统推翻了重做代价比较小,不要想着重构了,这种活就是撵人走的
|
28
Moker 2017-12-17 21:58:59 +08:00
肯定不是语言问题
|
29
alcarl 2017-12-17 22:26:16 +08:00 via Android
就算数据库结构设计的再奇葩,只要适当加些合理的索引,然后堆硬件多核心 24 核心以上加大内存 64g 以上,扛 3000 个日活绝对毛毛雨。。。。。
|
30
jiangzhuo 2017-12-17 22:27:05 +08:00
楼主是不是少打了一个 W 是 3kw 吧
|
31
oswuhan 2017-12-17 22:49:41 +08:00
可以考虑下使用 BaaS 服务。国外的 firebase,国内的 leancloud、野狗、bmob,还有一个知晓云,不过该平台貌似专注微信小程序开发。
|
32
HanSonJ 2017-12-18 00:32:37 +08:00
平时大家黑 PHP 我都是笑笑不说话。这次忍不了,强行甩锅的节奏,重构数据库吧
|
33
realpg 2017-12-18 00:36:49 +08:00
LNMP 单古董物理服务器 日千万请求无压力……
|
34
Kilerd 2017-12-18 00:50:49 +08:00
日活 3k,平均下来 撑死就 100QPS 吧。
这点请求 php 都搞不定,那就是你家程序员该背的锅了。 |
35
Axurez 2017-12-18 06:48:56 +08:00
要不你试试 swoole ?
|
36
Axurez 2017-12-18 06:49:28 +08:00
也不用说「据我了解」,直接 profile 一下给他看呗
|
38
t2doo 2017-12-18 08:27:32 +08:00
俺那小破公司,日活最多 10 吧,Java。。。我只想说,跟语言没关系哈
|
39
ob 2017-12-18 08:31:21 +08:00 via Android
我觉得有机会多学一门语言应该是好事,哈哈
|
40
opengps 2017-12-18 08:39:03 +08:00
合理的架构,后端用啥都行
|
42
to2false 2017-12-18 08:48:55 +08:00 via iPhone
日活 3k,在用 java,要不要用 c++重构(狗头
|
43
Takahashi 2017-12-18 08:59:18 +08:00 1
日活 3K。。高级黑
|
44
SourceMan 2017-12-18 09:00:45 +08:00 via iPhone
你这个黑的很有水平
|
45
php01 2017-12-18 09:03:19 +08:00
用机器码 01 吧,不然还真扛不住呢。
|
46
Norie 2017-12-18 09:09:29 +08:00
php 被黑得最惨的一次,黑得不知不觉
|
47
afeicool 2017-12-18 09:10:01 +08:00
你们领导应该是行家,用 php 天天完事就可以走了,用 java 天天加班,这样看起来大家都更努力。
|
48
alber1986 2017-12-18 09:19:54 +08:00
php 码农路过,表示这个锅我们不背
|
49
knva 2017-12-18 09:22:36 +08:00
PHP 3k 都撑不住,java 估计早挂了.
|
50
RorschachZZZ 2017-12-18 09:26:34 +08:00
楼主是故意来黑 php 的吗。。。 。
|
52
killerv 2017-12-18 09:34:58 +08:00
日活 3k 就把锅甩给语言……
|
53
8355 2017-12-18 09:39:40 +08:00
3000 日活关键还是看并发多少. 如果只是少量并发常规访问的话 512 机器都扛得住. 你跟老板聊聊 给点时间重构一下上 php7.如果做的好年后涨点工资.
|
54
gamecreating 2017-12-18 09:40:30 +08:00
你让我们游戏服务器 同时在线 1 万人怎么想 ....
日活 3000 用 asp 都够了 |
55
YMB 2017-12-18 09:42:47 +08:00
我能告诉你,阿里也用 PHP 吗。
纯属架构问题! |
56
l9rw 2017-12-18 09:44:30 +08:00
这种量级瓶颈大多在数据库,这个锅 php 不背
|
57
OMGZui 2017-12-18 09:45:00 +08:00
就目前来看,请去说服你的领导
|
59
lianxiaoyi 2017-12-18 10:10:46 +08:00
这锅 php 不背,老衲单一个验证接口日活都在 800 多万以上,(4 台 2 核 4G 服务器,平均跑在 25%,遇到大户同时请求,就会有一台 CPU 到 80%,用的 DNS 负载均衡,国内带宽太 TM 贵了),日志服务器用的一台 1 核 1G 的服务器,这台服务器 php 层日请求超千万,python udp 层日请求量超 3000 万(流量太贵,所以用的 udp ),现 CPU 跑在 20%。。好好整理你们数据库才是关键。。。。
|
60
yujieyu7 2017-12-18 10:25:22 +08:00
这公司没前途,早点撤吧
|
61
colinlet 2017-12-18 10:26:10 +08:00
我们项目日活百万,并发上千,php 也没有背锅啊,就是负载均衡+缓存+MySQL
|
62
0ZXYDDu796nVCFxq 2017-12-18 10:27:19 +08:00
并发 3K 再来考虑语言问题
|
63
jjx 2017-12-18 10:33:27 +08:00
先说数据量
再说需求 比方说总是对百万以上的数据做汇总查询, 那怎么优化都快不了, 类似这样的需求都是以前做 c/s 企业软件的, 转到互联网带来的, 互联网应用对响应要求高, 老早的桌面内部应用对响应要求低, 在互联网化时需求需要响应调整 |
64
zhengxiaowai 2017-12-18 10:40:14 +08:00
3K 日活???? Python 不用优化分分钟扛下来
|
65
sagaxu 2017-12-18 10:44:58 +08:00
同事一说都是三五年以上的 phper
~~~~~~~~~~~~~~~~~~~~~~~~~ 是一个月的经验重复了三五年,还是成长了三五年? |
66
xuanyan 2017-12-18 10:58:23 +08:00
百万日活,php 都扛得住,跟语言关系不大
|
67
skadi 2017-12-18 11:02:07 +08:00
先做一下 性能分析吧. 看看瓶颈在哪.
|
68
sobigfish 2017-12-18 11:04:10 +08:00
应该是这个吧 https://www.jaadee.com/
那么为啥后台最先选型时没有选已有的开源架构而是用 thinkphp 做了呢 ? |
70
lwbjing 2017-12-18 11:11:55 +08:00
PHP 要是能说话,肯定要骂一句 mmp
|
71
vus520 2017-12-18 11:14:59 +08:00
每秒请求 3000 的业务照样 php
|
72
gaoxu387 2017-12-18 11:36:11 +08:00
不如想想为什么会这样,解决问题才是最重要的,是数据库慢查询?是某些接口里有 curl 请求太慢?是连接了缓存服务器导致的?
看看数据库的慢日志、缓存的慢日志、php-fpm 的慢日志,结合 app 的日志、xdebug、strace、gdb 分析分析吧 |
74
satanandroid 2017-12-18 11:43:52 +08:00
后台同 thinkphp 日活 10W
php 表示,这个锅我不背 |
75
sutra 2017-12-18 11:45:15 +08:00
要想横向扩展,主要看架构,不是语言。
|
76
wekw 2017-12-18 11:56:56 +08:00
只可能是数据库问题
|
77
LukeChien 2017-12-18 12:02:43 +08:00 via Android
上 Java 也不行,得上 Oracle
|
78
vjnjc 2017-12-18 12:09:36 +08:00
话说改数据库字段的话要改查询代码的吧。。。
这种情况简单粗暴是不是只能开索引,堆硬件?也不能拆到多台数据库服务器吧? |
79
leibusi 2017-12-18 12:57:50 +08:00 via Android
又黑我大 PHP
|
80
likuku 2017-12-18 13:05:16 +08:00
工作资历长短,和能力并不能直接划等号,职场里这是常识了吧。
|
82
cnbattle OP @vjnjc 已经到了加索引和缓存不能解决问题的地步了,服务器是分布式数据库集群,话说公司服务器是个大牛,给 freebsd 贡献代码的人,都是一开始数据库表设计不好,还有一个内部需要变更太频繁
|
83
mrzero 2017-12-18 13:16:46 +08:00
你得知道性能瓶颈在哪才能优化啊…… 3k 的日活,能有啥瓶颈
|
84
atcdef 2017-12-18 13:19:15 +08:00
这类型的后端,应该是以读为主吧,既然这样的话,如果性能瓶颈确实出在数据库上,直接上多个数据库副本,分摊一下查询请求,把眼下的问题先应付过去再说。然后再慢慢想办法重构也好,重做也罢,走人也行,看着办,哈哈
|
85
we3613040 2017-12-18 13:19:59 +08:00
垃圾啊,日活 3k,关语言什么关系,素质不行明显
|
86
mrzero 2017-12-18 13:21:19 +08:00
先把慢查询一个个找出来,改表结构、迁数据,加索引;再不行加 proxy 上 MySQL 集群;然后如果是读多,加一层 redis 缓存……但我感觉日活 3k …… emmmmm
|
87
woshipanghu 2017-12-18 13:34:35 +08:00
说分布式 集群 缓存的好笑不好笑
3k 日活 1 核 1g 的服务器都稳稳的处理了 还需要那么多花样? |
88
Moker 2017-12-18 13:36:28 +08:00
谈谈数据量吧 加了索引和缓存都还不行?
|
89
cnbattle OP @woshipanghu 我说的只是 app 日活 pc 的也是在一起的,具体不详
|
91
for8ever 2017-12-18 15:32:22 +08:00
用 Node.js 吧,自学 3 小时后就可以了,日活 300k 都没问题
|
93
funcman 2017-12-18 18:09:33 +08:00
这个日活,随便写个 PHP 挂到应用云上不就行了。
|
95
tomczhen 2017-12-18 19:08:09 +08:00
@slgz 技术债务总是要还的,只是什么时候还,由谁来还的问题。并不是说不欠债就是好的,有时也会为了一些妥协而主动选择债务。
再说了,项目没到还债的时候就死掉的也是很多的。不管是主动选择还是被动,债务只要可控就是可以接受的——大不了离职嘛 ¯\_(ツ)_/¯。 通常说的解决方案就是重构,不过出于自身利益风险考虑我觉得更多人都喜欢重写——毕竟就算是一坨屎也是自己的香一些。 我只是一个负责背锅的运维,代码重构的经验还是让开发来传授吧,毕竟他们经验比较多 :doge: |
96
tanszhe 2017-12-18 20:43:20 +08:00
是来搞笑的吧,3000 日活太小了 几乎就是九牛一毛 忽略不计
|
97
alcarl 2017-12-18 21:57:36 +08:00 via Android
@cnbattle 3000 日活的 app 还有缓存的分布式数据库集群。。。。。。。。你这三千人是每秒操作一百次以上录入 50 条以上数据的机器人吗?( ̄へ ̄)
|
98
Sapp 2017-12-18 23:42:47 +08:00 via iPhone
go、ruby 五年经验的可以当十年用,php 五年的你就当两年用,这样就不会出问题了,真不是看不起这个语言,而是 php 用的公司太多了,大量的低端外包公司都用他,你根本不知道他是不是做了五年的建站。
|
99
LJ2010 2017-12-20 13:06:32 +08:00
和 php 有毛关系。。。90%都是代码问题,如果真是 php 有问题。。那么 baidu,facebook 什么的还用 php 干嘛?
|