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

PHP gd 库循环处理 8 张 6M 图片 ,本地很快, 线上很慢,何解?

  •  
  •   veike · 2019-06-18 19:01:26 +08:00 · 2856 次点击
    这是一个创建于 1995 天前的主题,其中的信息可能已经有所发展或是发生改变。

    本地是 4 核心,12G。

    线上 2 核心 4G

    是什么问题呢

    26 条回复    2019-06-19 11:35:39 +08:00
    tomczhen
        1
    tomczhen  
       2019-06-18 19:08:24 +08:00 via Android
    大概线上服务器的 CPU 生辰八字和代码不合吧。
    veike
        2
    veike  
    OP
       2019-06-18 19:10:44 +08:00
    @tomczhen 是核心的问题吗
    moodasmood
        3
    moodasmood  
       2019-06-18 23:14:44 +08:00 via Android
    我也觉得是线上服务器的 CPU 生辰八字和代码不合
    veike
        4
    veike  
    OP
       2019-06-18 23:26:46 +08:00
    @moodasmood 哪里不合呢,不太懂这个
    veike
        5
    veike  
    OP
       2019-06-18 23:26:57 +08:00
    @moodasmood 能否说明白点
    veike
        6
    veike  
    OP
       2019-06-18 23:30:15 +08:00
    @moodasmood 是主频问题吗
    mumbler
        7
    mumbler  
       2019-06-18 23:40:33 +08:00 via Android
    看看 CPU 是否 100%占用,负载多少,IO 负载多少,内存剩余多少
    MinQ
        8
    MinQ  
       2019-06-18 23:43:01 +08:00 via Android
    哈哈哈哈哈看楼上的回复笑出声
    opengps
        9
    opengps  
       2019-06-18 23:49:54 +08:00 via Android
    云服务器的话,可能硬盘慢
    msg7086
        10
    msg7086  
       2019-06-18 23:50:58 +08:00
    CPU 太慢了,两核心是 i3 吗?
    veike
        11
    veike  
    OP
       2019-06-18 23:52:31 +08:00
    @mumbler CPU 占用不到百分之一,io 负载,内存 富余很多啊。
    hundan
        12
    hundan  
       2019-06-18 23:59:18 +08:00 via Android
    本地和线上除了系统配置外 开发环境一致吗
    veike
        13
    veike  
    OP
       2019-06-19 00:01:08 +08:00
    @hundan 一样的, 都是 ubuntu。 线上 cpu 2.5Ghz 的。
    veike
        14
    veike  
    OP
       2019-06-19 00:01:43 +08:00
    @msg7086 阿里云 计算网络增强型。
    veike
        15
    veike  
    OP
       2019-06-19 00:06:48 +08:00
    @opengps 我本地是机械的,只是 cpu 是 3.6Ghz。和这个有关系吗
    msg7086
        16
    msg7086  
       2019-06-19 00:07:34 +08:00
    @veike 一般来说虚拟的 CPU 和真实的 CPU 不能直接对比性能。
    一般一个母鸡核心要割成很多虚拟核心来卖的,双核虚拟 CPU 加起来可能还没半个 i3 快。
    你说的 CPU 占用不到 1%是指跑图片处理的时候还是空闲的时候?
    veike
        17
    veike  
    OP
       2019-06-19 00:28:25 +08:00
    @msg7086 处理图片的时候
    yowenj
        18
    yowenj  
       2019-06-19 00:29:31 +08:00 via Android
    线上 PHP 没做优化
    veike
        19
    veike  
    OP
       2019-06-19 00:32:37 +08:00
    @yowenj 一般要优化哪些点呢
    opengps
        20
    opengps  
       2019-06-19 09:08:54 +08:00
    @veike 目前建议你考虑 2 个方向:
    硬盘方向:云服务器普通云盘性能跟虚拟机一样,1k 读写性能大致相当于机械硬盘五分之一到十分之一之间,ssd 的云盘大致跟机械硬盘相等
    cpu:云服务器说的核心数都是 vCPU,也就是逻辑 cpu,你本地的硬盘 4 核,实际上可能等同于 8 个 vCPU,这得你自己判断
    raysonlu
        21
    raysonlu  
       2019-06-19 09:27:57 +08:00
    楼主说的本地 4 核心,等同于阿里云标出的 8 核心( 8vCPU ),线上阿里云 2 核心,等同于你本地的一核心,物理一个核有两个处理逻辑的单元,基础的计算机硬件知识要补一下
    Felldeadbird
        22
    Felldeadbird  
       2019-06-19 09:47:16 +08:00
    代码里面断点测试吧。
    我也遇到过类似的。大概是 虚拟机中跑一个 for 循环,里面数据也不多。1W 左右,却可以卡 30 秒。 放到母鸡或者其他云机中,秒开。
    这个问题一直没去解决,感觉是虚拟机环境问题。
    lolizeppelin
        23
    lolizeppelin  
       2019-06-19 09:54:15 +08:00
    云服务器的硬盘是 网络硬盘 走网络 IO 的 延迟肯定比本地硬盘高

    如果 read 的字节数少而频繁的花,延迟的影响可能会比较大

    尝试增加每次 read 的大小减少 read 次数
    lolizeppelin
        24
    lolizeppelin  
       2019-06-19 09:55:55 +08:00
    以前云服务器还有本地硬盘可选
    最早结构还没那么好的时候 系统盘还必须是本地硬盘

    现在全部 san 了...惨
    tutusolo
        25
    tutusolo  
       2019-06-19 10:13:15 +08:00
    共享型和独占比
    ssd 和机械硬盘比
    4 核和 1 核比
    你现在知道为什么会差很多了吧
    ritaswc
        26
    ritaswc  
       2019-06-19 11:35:39 +08:00
    加 Cpu 吧。。。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2734 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 33ms · UTC 00:25 · PVG 08:25 · LAX 16:25 · JFK 19:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.