V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  dandankele  ›  全部回复第 2 页 / 共 5 页
回复总数  99
1  2  3  4  5  
348 天前
回复了 dandankele 创建的主题 数据库 同 database 不同 schema 多租户连接池问题
@RedBeanIce 我感觉我这情况已经不是改 Hikari 内部实现的问题了,是 mysql 本身好像就不支持在一个连接中直接切换成另一个用户,不切换成另一个用户就看不到其拥有的 schema = =!
348 天前
回复了 dandankele 创建的主题 数据库 同 database 不同 schema 多租户连接池问题
@RedBeanIce 租户数量适中吧,我也想过一个 schema 一个连接池,然后每个池子最大连接数设置为 database 的最大允许的连接数量,空闲时间设置短一点,一个池子如果空闲连接多的话会释放给其他忙的池子。。但感觉又有些不妥。在每个租户都需要较为繁忙时,某个池子的空闲连接来不及释放给另一个池子
348 天前
回复了 dandankele 创建的主题 数据库 同 database 不同 schema 多租户连接池问题
动态数据源我实现了,现在的问题是如何针对我的场景把连接进行池化复用,各位要审题啊
同样也有这个问题。。如果是出于公司业务增长遇到性能瓶颈等问题,想优化,并且也考虑成本,那么直接试试 swoole 一类的。。如果只是单纯的想提高自己的技能水平,为以后就业考虑,那么 java 吧。。虽说 go 与 php 很搭,但是二三线城市 java 就业机会多啊
2023-09-28 13:21:48 +08:00
回复了 saka0609 创建的主题 酷工作 常州创业公司招聘 golang
创意产业园 E 座的吗?
2023-08-03 09:58:46 +08:00
回复了 tlerbao 创建的主题 程序员 几乎不用的腾讯 CDN 也被刷,欠费 200 块。
2023-07-01 23:46:37 +08:00
回复了 dandankele 创建的主题 Go 编程语言 PHP 部分改造为 go 与全部改造为 go 是否会提升性能?
@nuk 题中所说 100 个 fpm 进程只是举个例子,当然还得看机器配置。。最主要的意思是如果本身 100fpm 出现了当前的问题,那么我再在当前机器上加入改写的 go 的应用,把一些依赖外部网络请求的部分放到 go 里,是否能降低 web 请求响应时间、是否能降低机器 cpu 消耗


@everyx 是的,大量的 tcp 连接建立和销毁以及 php 进程在网络 IO 阻塞导致的切换。。我现在是想对这方面进行优化


@Twnysta 你所说的“时间不会减少”要看是什么的时间吧。。。如 34 楼老兄所说,如果我有非串行依赖请求,那么我可以用 go/swoole 尝试进行并发请求。。另外把 php 没有连接池、频繁建立和销毁 tcp 连接、频繁网络 io 阻塞导致的进程切换时间都用 go/swoole 来尝试改造,这部分的时间还是能减少的吧。。我所指的能减少的时间是“我服务端对客户端的响应时间”

---

[另外最后再补充下啊] 当前公司给的目标是服务器等成本降本,当前服务器配置下日均 pv 也是千万,业务应用能正常承受,是没问题的。。。所以我的重点目标还是继续优化性能,看看能否再减少服务器。。所以目前找到的优化点是这个 php-fpm 下的网络请求 IO 阻塞问题。具体大家可以看下前面和大家的对话。。实际上 swoole 与 go 都可以,但再出于后期找工作的考虑,所以想选 go ,咱就不再在 go 还是 swoole 等上面纠结了。。咱们就讨论用异步 IO 、连接池、协程处理并发等方面看看能否将传统 php-fpm 模式下的这个问题进行优化?
2023-06-30 22:08:54 +08:00
回复了 dandankele 创建的主题 Go 编程语言 PHP 部分改造为 go 与全部改造为 go 是否会提升性能?
@everyx 我缓存也是走的网络 IO 。。。现在拿缓存数据也是慢。数据库也已经做过一轮优化了。我在 30 楼回复中留有了一些监控信息。。所以不知道是不是网络 IO 阻塞导致的频繁进程切换
2023-06-30 21:58:33 +08:00
回复了 dandankele 创建的主题 Go 编程语言 PHP 部分改造为 go 与全部改造为 go 是否会提升性能?
@8355 差不多就是你说的意思,你举的例子是 php 在单个请求处理中,有着多个串行依赖请求外部接口,如果不是串行依赖的,来用 go/swoole 协程并发处理。我所想的是,把多个 php 请求处理(进程级别的,每个进程中处理着串行依赖外部请求)使用 go 协程并发来处理(协程级别的,并发处理多个请求,每个请求里还是处理串行依赖外部请求或者还可以再并发处理外部请求)。。

我目前还没打算重构,我还在评估我的问题用这种方式能否得以解决。。。除了你提到的这些,我这个主题帖的主要问题是在想这种部分重构的情况下,响应时间是否会有所提升。

目前 6 楼的朋友应该是 get 到了我当前的主要问题。。可以把这主题中的 go 换成 swoole 、java 等,但问题是原 100 个 fpm 进程还保留的情况下、机器配置不变的情况下,增加 go/swoole 是否会优化单个请求的响应时间
2023-06-30 16:40:54 +08:00
回复了 dandankele 创建的主题 Go 编程语言 PHP 部分改造为 go 与全部改造为 go 是否会提升性能?
@leonshaw 目前只是根据少部分监控数据猜测出来的。。php 的调用栈的监控数据显示,每个慢的请求中,都是慢在了从外部服务获取数据的过程(如 fread 、Memcached::get 、Redis::get 之类的),而且消耗的时间上,wall time 挺大的,但是 cpu time 很小。并且服务器网络监控上,服务器带宽、收发数据包 pps 都没有打满。。所以目前是猜测在等待网络 IO 传输数据的过程中进程切换导致的时间消耗。。。进程目前大概是 cpu 核数的 8 倍,但再增加导致 RT 时间变长,减少的话也会变长。。
2023-06-30 16:28:51 +08:00
回复了 dandankele 创建的主题 Go 编程语言 PHP 部分改造为 go 与全部改造为 go 是否会提升性能?
@8355 意思是改用 go 的话对于响应时间优化并不会有太大帮助?依赖外部服务查询数据的瓶颈主要还是在于网络传输性能与外部服务的性能吗?
2023-06-30 16:24:12 +08:00
回复了 dandankele 创建的主题 Go 编程语言 PHP 部分改造为 go 与全部改造为 go 是否会提升性能?
@leonshaw 瓶颈分析了啊。。就是依赖外部服务导致网络 IO 大,fpm 进程切换频繁消耗 cpu 资源。。用 go 的话至少是协程、线程级别的上下文切换。。。但是相同服务器配置下,两个放一起能否提升性能就是本文要问的问题
2023-06-30 16:22:21 +08:00
回复了 dandankele 创建的主题 Go 编程语言 PHP 部分改造为 go 与全部改造为 go 是否会提升性能?
@japeth 具体怎么说?性能翻倍表现在哪里?相同 qps 下 cpu 降了?还是相同配置下 qps 升了?还是啥的?
2023-06-30 16:15:58 +08:00
回复了 dandankele 创建的主题 Go 编程语言 PHP 部分改造为 go 与全部改造为 go 是否会提升性能?
@flyqie 是啊。。所以我来这问问没有经历过类似这样情况的的朋友。。换语言改造提升性能我也是想着只把性能瓶颈的地方换了。。但在考虑的时候想了主题中提到的问题,所以怀疑只把这部分瓶颈的地方换掉是不是不会有提升?所以才有了这主题帖
2023-06-30 16:10:07 +08:00
回复了 dandankele 创建的主题 Go 编程语言 PHP 部分改造为 go 与全部改造为 go 是否会提升性能?
@yekern 好像有点道理,可以减少 fpm 的数量了,go 的 rt 时间相比原先 fpm 缩短了,如果并发量不变的话,少量的 fpm 是可以承住的
2023-06-30 16:07:17 +08:00
回复了 dandankele 创建的主题 Go 编程语言 PHP 部分改造为 go 与全部改造为 go 是否会提升性能?
@flyqie 那一般 go 用来干啥啊?不是说用 go 来提升 php 性能是比较好的选择吗?
2023-06-30 16:06:37 +08:00
回复了 dandankele 创建的主题 Go 编程语言 PHP 部分改造为 go 与全部改造为 go 是否会提升性能?
@EmptyDX 主要 php 在组装数据方面写的比较爽。。所以我也不太想全部改掉
在这么卷的国家,技术能当饭吃?就如同公司里为什么老板不重视技术?因为很多业务重心不在技术啊,技术完全就是辅助的工具而已。。要重视技术的那必定是技术为业务主打的。。技术成本投入高。。换你当老板。。非技术业务的产品你会高投入?
再假设你就是技术人员,你想用技术变现,那么你的业务核心可能就是主打技术。。。直到你发现变现是一码事,技术发展又是另一码事。。关注的重心不同,当老板的肯定是变现赚钱。。做技术开发的肯定关注技术能力的发展

很多业务现在都是一个人踩着另一个人的肩膀往上爬。。一个业务产业踩着另一个较为成熟的业务产业发展。。所以形成了产业链。。这链条最底部可能是更偏向技术。。但也最求稳定了。。毕竟自己一挂导致上层业务链就会有问题。。而上层。。寻求的是变化,目标就是钱。。哪有时间发展技术。。。最终技术都只是沉淀到下层
2023-04-19 14:35:40 +08:00
回复了 asanelder 创建的主题 程序员 DDD 中的聚合根持久化问题(使用关系型数据库)
@asanelder 用 DDD 充血模型确实爽。。但我还卡在怎么用 jpa 将 data object 与 domain object 进行转化。。目前打算用的是 mapStruct 进行转化。。
另外还有个问题,spring data jpa 中的 repository 只是用来查询 data object 了吧?我觉得它的 repository 与 DDD 的 repository 其实不是同一个概念了。。
2023-02-03 08:41:09 +08:00
回复了 XiLemon 创建的主题 Java JPA 为何如此难用,是我姿势不对吗
@cgpiao 那 java 应该用在啥地方好啊?
1  2  3  4  5  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2989 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 22ms · UTC 12:54 · PVG 20:54 · LAX 04:54 · JFK 07:54
Developed with CodeLauncher
♥ Do have faith in what you're doing.