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

关于服务器的几个问题

  •  
  •   0clickjacking0 · 2019-03-26 15:10:03 +08:00 via Android · 3954 次点击
    这是一个创建于 2067 天前的主题,其中的信息可能已经有所发展或是发生改变。

    最近学校要搭 ctf 平台,虽然有一台 16 核 32g,带宽 200m 的服务器,但是我怕搞坏了,所以想搭在自己的腾讯云学生机上,学生机配置是 1 核 2g,带宽 1m,腾讯云这个只是供我们打 web 方向的人使用,也是 5 个人,用的是 uwsgi+Nginx+ctfd 搭建,但是非常非常卡,也用了 CDN 加速,还是很卡,请问各位表哥有什么解决方案可以优化吗?

    ctfd 是一个用 Python 写的轻量级 ctf 平台

    22 条回复    2019-03-27 13:55:27 +08:00
    guyeu
        1
    guyeu  
       2019-03-26 15:13:34 +08:00
    卡在哪个地方,内存 /CPU/网络。。。
    目测是带宽。。。
    0clickjacking0
        2
    0clickjacking0  
    OP
       2019-03-26 15:16:29 +08:00 via Android
    @guyeu 我也觉得是带宽,我把题目放在另一台学生机上,20 个人同时访问也不卡,主要是平台的 js 加载太多了,打开一次网站需要 25s 左右,太慢了,是把 js 文件都用 cdn 引入吗
    guyeu
        3
    guyeu  
       2019-03-26 15:23:15 +08:00
    @0clickjacking0 #2 可以啊,所有的静态资源都走 CDN 试试。。另外,容器化之后放在你们比较牛比的服务器上就不会有搞坏的可能性了。
    mhycy
        4
    mhycy  
       2019-03-26 15:24:29 +08:00   ❤️ 1
    你们那台 16 核 32G 很适合做虚拟化....ESXI 搞起来好了
    学生机套个 CDN 吧,静态资源一律 CDN,动态信息回源

    阿里云方案参考:
    阿里云 HK 轻量服务器 + 阿里云 OSS 做静态文件缓存(自动回源,用作大陆的二级分发)+ 阿里云 CDN
    现有 blog 的方案,流量不大不怎么耗钱,只是。。你需要个有备案的域名做 CDN
    mhycy
        5
    mhycy  
       2019-03-26 15:25:26 +08:00
    @guyeu 容器和母机耦合有点深,还是建议虚拟化吧,不然挂载命令写错了母机也得花
    guyeu
        6
    guyeu  
       2019-03-26 15:37:19 +08:00
    @mhycy #5 容器化的好处是简单快捷维护成本低。。
    ctf 平台这种东西确实挺适合虚拟化的。。但是工作量和维护成本相对来说高一点
    0clickjacking0
        7
    0clickjacking0  
    OP
       2019-03-26 15:44:24 +08:00 via Android
    @guyeu 我尝试过用 docker 搭建,但是好像无法搭起来,是我太菜了,hhhh
    0clickjacking0
        8
    0clickjacking0  
    OP
       2019-03-26 15:46:12 +08:00 via Android
    @mhycy 域名备案都做好的,我上次尝试了 CDN 加速,但还是一直在本地加载 js 和 CSS,是需要修改主题的配置文件,把加载的 js 都外链吗
    mhycy
        9
    mhycy  
       2019-03-26 16:00:52 +08:00
    @guyeu
    其实相比容器维护带来的需要详细记录各个容器信息的工作量,虚拟化反而更为简单省事
    (有自动化平台另说)

    @0clickjacking0
    修改 nginx 先强制所有静态文件都加缓存标记
    然后再考虑修改主题的事,批量修改其实还算好搞( notepad++在这种事上很好用)
    要是时间多可以折腾,那就配个二级域名专门丢主题的静态资源(事实上太麻烦我也没搞)
    要是域名本身就已经备案直接混合 CDN 套上去完事了。。我是因为主域名没备案才搞那么复杂
    毕竟是个 blog 而已。。。blog.mhycy.me
    jasonyang9
        10
    jasonyang9  
       2019-03-26 16:09:23 +08:00
    非常非常卡,服务器负载有监控么?
    privil
        11
    privil  
       2019-03-26 16:13:12 +08:00
    服务器上个 kvm
    hundan
        12
    hundan  
       2019-03-26 18:39:07 +08:00 via Android
    ctfd 的 docker 的确有点毛病 所以我以前搭完直接做成镜像了
    带宽 1m 真的挺艰难的 套 cdn 也……
    楼上的人说这么多折腾 (手滑送了感谢) 相比这个复杂度 我建议你还是用那台 32g 200m 的服务器吧
    学生机挺弱的 当然一方面也有可能是线路问题 感觉阿里云的线路会好一点 不知道你们搭好了要多少人用?
    scukmh
        13
    scukmh  
       2019-03-26 19:53:47 +08:00   ❤️ 1
    怕什么,上手就是干,大不了重装。我校给了两台 24 核 50G 内存的。(跑
    ShangAliyun
        14
    ShangAliyun  
       2019-03-26 21:59:58 +08:00
    笼统来说总共就几个指标需要考虑: 内存,cpu,硬盘 io,带宽。。。
    hangzhou777
        15
    hangzhou777  
       2019-03-26 23:15:00 +08:00
    问题太泛,无法回答
    wangxiyu191
        16
    wangxiyu191  
       2019-03-27 00:47:50 +08:00
    CTFd 有个坑是它默认用的 SQLite,并发量上去就完蛋了,换成 MySQL 会好很多。
    不过你这个问题也有可能是带宽不够之类的原因。
    加油折腾啊总之。
    huclengyue
        17
    huclengyue  
       2019-03-27 01:10:40 +08:00 via Android
    用又拍云全站 CDN 啊,不需要你自己处理静态资源。在域名哪里配置一下就行
    yingfengi
        18
    yingfengi  
       2019-03-27 08:49:19 +08:00 via Android
    32G 那台跑 esxi 啊。。。然后 esxi 里面跑 docker
    esxi 还可以跑更多东西
    jifengg
        19
    jifengg  
       2019-03-27 09:17:07 +08:00
    16 核机器上跑 docker,随便搞
    gamexg
        20
    gamexg  
       2019-03-27 09:32:11 +08:00 via Android
    测试过云服务器性能吗?
    我上次也是非常卡,测试下发现硬盘读写个位数,提工单解决。
    kxct
        21
    kxct  
       2019-03-27 11:39:10 +08:00
    应该是带宽,学生机好像是 1M 小水管
    xiaowoniu
        22
    xiaowoniu  
       2019-03-27 13:55:27 +08:00
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   956 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 21:49 · PVG 05:49 · LAX 13:49 · JFK 16:49
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.