标签: 服务器配置

千万条数据级服务器的配置应该是什么样子

现在有个服务器,每天新增两百万条数据左右,然后总数据已经达到 5000W+,但是 PV 较小,每天 1000+左右吧。请问至少服务器要达到什么样的配置才能不吃力。

服务器 数据 吃力 请问12 条回复 • 2015-10-20 13:48:46 +08:00
ryd994 1
ryd994 2015-10-20 09:50:53 +08:00
0.现在什么情况?什么配置?为什么吃力查清了么?
1.是什么数据?旧数据能不能优化走?分库分机
2.有多少索引?索引多大?内存大小应当参照索引大小配。
既然请求量不大,那可以忽略缓存部分( memcached/redis 在没有大量重复查询的时候没什么用)
3.机械硬盘应该是顶的住的,如果你不介意延迟的话
4.如果软 raid ,考虑软 raid 的计算量
zrp1994 2
zrp1994 2015-10-20 10:17:58 +08:00
@ryd994
1. 主要是 8G 内存几乎占满, CPU 和 IO 占用都稍低。主要是 Select 语句查询太慢,现在正在考虑分表,但是感觉按天分是不是太多了
2. 由于数据量大的部分的表结构是其他人规定的,发现他们没有给索引……而且查询的时候也不按索引查询。
3.机械硬盘,没有加缓存。
vibrance 3
vibrance 2015-10-20 10:21:14 +08:00 via iPhone
站群? 5000 万多才千访问,为什么不关啦
zrp1994 4
zrp1994 2015-10-20 10:22:25 +08:00
@vibrance 不是站群
HentaiMew 5
HentaiMew 2015-10-20 10:36:00 +08:00
5000 万的数据量 oracle 应该能驾驭,不过没索引当然慢了…
newtonisaac 6
newtonisaac 2015-10-20 10:36:01 +08:00
索引
kn007 7
kn007 2015-10-20 10:40:11 +08:00
没索引,你怎么换都坑爹
zrp1994 8
zrp1994 2015-10-20 10:45:44 +08:00
@kn007
@newtonisaac
@HentaiMew
确实是,但是要改也只能等到下一期了,至少还有半个月……坑爹
ryd994 9
ryd994 2015-10-20 10:46:10 +08:00 via Android
必须加索引!没索引你居然也能活到现在……
没索引除非你内存能放下整个数据库,然而即使那样也比索引慢
没索引,换什么配置都药丸
zrp1994 10
zrp1994 2015-10-20 10:48:44 +08:00
@ryd994 好吧……吓得我立马滚去在本地鸡上测试下
uleh 11
uleh 2015-10-20 12:06:19 +08:00
每天才 1000+的 PV ,好一点的 PC 配置都可以承受了吧
关键还是数据库要索引。。
oott123 12
oott123 2015-10-20 13:48:46 +08:00 via Android
难道每次查询都要扫全表吗…
为服务器的硬盘感到默哀

求问每隔五秒有 4k 用户轮询该用什么配置的服务器

每个用户请求就会 UPDATE 一下 mysql 数据库。。 如果只有一台服务器,求问各位 V 友至少要什么配置

33 条回复    2016-11-21 14:13:46 +08:00
abelyao
    1

abelyao   2016-11-19 22:08:42 +08:00

4000 请求是同时产生还是会有错开一两秒? update 的 sql 复杂不?单次执行时间是多少? mysql 是也在本地吗?
prondtoo
    2

prondtoo   2016-11-19 22:15:04 +08:00

刷单么?
ipconfiger
    3

ipconfiger   2016-11-19 22:16:05 +08:00

这个量级基本上大多数服务器都很轻松能扛下来嘛, Linux 修改一下 open file 的 limit 就好了
powergx
    4

powergx   2016-11-19 22:16:56 +08:00 via iPhone

intel 3700 ssd 一块搞定,为了安全*好 raid1
qq915458022
    5

qq915458022   2016-11-19 22:45:35 +08:00

@abelyao 会错开一两秒。。 sql 非常简单,就是基本的 Update 一格。 mysql 在本地,服务器还没租所以也不知道时间。。
我主要是担心 cpu 吃不消
一般这种 CPU 和内存该配多大啊?
qq915458022
    6

qq915458022   2016-11-19 22:46:10 +08:00

@ipconfiger 谢谢了,那我租阿里 2 核 2G 够吗?
qq915458022
    7

qq915458022   2016-11-19 22:46:45 +08:00

@powergx 租服务器
qq915458022
    8

qq915458022   2016-11-19 22:47:50 +08:00

@prondtoo 刷单的话服务器的承载能力就不是我考虑的了?
powergx
    9

powergx   2016-11-19 22:54:38 +08:00 via iPhone

@qq915458022 阿里的磁盘 大概几十 ipos ,你要么放到 memcache /redis ,要么独立开数据库服务
txlty
    10

txlty   2016-11-19 22:56:16 +08:00

*好优化下架构,把这个 update 缓进内存。

ipconfiger
    11

ipconfiger   2016-11-19 23:07:19 +08:00

@qq915458022 *好用 SSD 的 VPS, 不然 MySQL 装本地性能堪忧.

另外如果每次请求都有一次 update 的请求的话, 那基本就是在考 mysql 的性能了, 加缓存什么的治标不治本, 除非你的服务请求的频度是根据时间还有不同, 分了峰值和谷值的.

有很多情况还不清楚, 所以暂时没法给你进一步的建议

qq915458022
    12

qq915458022   2016-11-19 23:16:14 +08:00

@ipconfiger 使用阿里的独立数据库呢?
qq915458022
    13

qq915458022   2016-11-19 23:16:56 +08:00

@powergx 我也觉得独立数据库比较可行,但是阿里的独立数据库是内网的吗?网络延迟如何?
ipconfiger
    14

ipconfiger   2016-11-19 23:22:09 +08:00

@qq915458022 看你独立数据库服务器选的等级咯, 我觉得你还是先从访问模式的分析开始比较好, 你的业务什么访问模式都不清晰的情况下盲目做架构基本都跟找死没区别, 除非钱多, 用服务器来堆
moult
    15

moult   2016-11-19 23:30:41 +08:00

1 、如果更新的是同一行记录的话,或者就那么几行的话,可以用 Redis 缓存一下更新请求,然后汇总之后放到 SQL 上面。
2 、如果更新记录不固定的话,可以在给更新请求加个队列,把 4K 的请求分散到 5 秒,不就是 800QPS 了。
shiny
    16

shiny   2016-11-19 23:33:09 +08:00

擦车做的好,低配机器轻松扛下来。做得不好,主要看 io 的。
qq915458022
    17

qq915458022   2016-11-19 23:57:13 +08:00

@ipconfiger 软件性质比较敏感,不好细说。。
但也就是很简单的用 php update 一下
源码: http://ofhr82r8c.bkt.clouddn.com/%E6%97%A0%E6%A0%87%E9%A2%98.png
qq915458022
    18

qq915458022   2016-11-19 23:59:02 +08:00

@moult 那就直接开一个 redis 的数据库应该就可以吧?
ipconfiger
    19

ipconfiger   2016-11-20 00:06:05 +08:00

@qq915458022 我是说的访问模式, 比如你说的每 5 秒陆续会产生 4K 次请求, 那么是一直都是这个频度还是峰值是这个频度然后会有一段时间没有这么高的频度
qq915458022
    20

qq915458022   2016-11-20 00:07:26 +08:00 via iPhone

@ipconfiger 一直保持
billlee
    21

billlee   2016-11-20 00:36:14 +08:00

如果均匀分布的,那么 IOPS 是 800 s^-1, 如果要持久化到磁盘就必须要用 SSD.
如果可以放弃持久性要求,可以用 redis 或者把 innodb_flush_log_at_trx_commit 设置成 0.
qq915458022
    22

qq915458022   2016-11-20 00:39:45 +08:00 via iPhone

@billlee 我先上个 ssd 试试吧
实在不行就准备弄分布式了?
ipconfiger
    23

ipconfiger   2016-11-20 00:54:21 +08:00

@qq915458022 如果一直是这个频度的话, 基本上压力都是在数据库上了, 前端加什么都不好使, 先上个阿里云的 RDS 自己测一下 TPS, 能超过 1000 就 ok, 可以从*小规格的开始实验.
我在网上找到一个评测文章你可以参考一下:
http://chuansong.me/n/2057150

另外, 如果全是 update, 而且 MySQL 测试出来不 满足 1000 的 TPS, 比如只有 200(原来年幼无知的时候在阿里云的*挫的 VPS 上本机装 mysql 测出来的结果). 那么可以用 redis 来做个对列, 如果光用对列是没用的, 因为写入数据库的频度始终比来数据的小, 所以对列会一直堆积耗光内存, 我原来做的对列是可以合并 update 请求的, 比如用 update 一个计数作为例子, 如果发现前面有未执行的 update 的值, 就把几次请求合并成一次数据库写入, 这样子数据库就不需要那么高的 TPS 了.

qq915458022
    24

qq915458022   2016-11-20 01:14:16 +08:00 via iPhone

@ipconfiger 因为数据是实时的而且要能在后台实时反应出来。。如果用内存积压的方法还要再从内存中读出来,感觉很麻烦。

目前配置可以往上堆,但是日后用户可能还要增长几倍(现在是测试小组 4000 人?),又只有一台服务器,所以有点伤感?

qq915458022
    25

qq915458022   2016-11-20 01:16:01 +08:00 via iPhone

@ipconfiger 其实也可以考虑合并呢。。隔 5s update 一次也会缓解很多,而且这下只考内存了
billlee
    26

billlee   2016-11-20 01:25:18 +08:00

@ipconfiger 其实不需要在逻辑上对 UPDATE 请求做合并,只要把一串 UPDATE 放到一个 transaction 里去执行,速度就会快很多了吧,瓶颈一般是每次提交事务时 flush redo log 产生的 IO 操作。
fuxkcsdn
    27

fuxkcsdn   2016-11-20 12:22:11 +08:00   ❤️ 1

1 , SELECT * FROM userstatus 改掉,只取要用到的字段,还有,如果 phone 字段不是主键或者没有唯一索引的话, SQL 语句后面加上 LIMIT 1 (除非你的业务逻辑存在取多条记录的可能)
2 , UPDATE 语句打印 explain 出来看看(需要 MySQL 5.6 以上),可能的话把 UPDATE 语句完整的贴出来

BTW ,可以 isset($_GET[‘phone’], $_GET[‘sim’], $_GET[‘group’]) && is_numeric($_GET[‘phone’]) && is_numeric($_GET[‘sim’]) && ….

billwang
    28

billwang   2016-11-20 12:32:20 +08:00

一般来说,试一下,扛得住就行,看不住再升级。:)
ipconfiger
    29

ipconfiger   2016-11-20 12:56:05 +08:00

@billlee 因为逻辑上来说只需要同步*终状态所以合并处理是*优的, 这个方案是原来做游戏服务器的时候用的, 主要的数据操作都在内存完成, 往数据库存只是为了持久化, 那么其实只需要持久化*终状态即可
kaneg
    30

kaneg   2016-11-20 13:53:21 +08:00   ❤️ 1

看了楼主发的代码截图,其实就是在数据库中持久化以 phone 为 key , owner 和 sim 为 value 的一个 map ,而这个 map 的大小为 4k 。所以*简单的办法就是在内存中保持这个 map ,新来的请求就只是更新这个 map 。而这个 map 多长时间刷新到数据库就看你的数据库的压力承受能力。

如果要读取用户的状态,只要先在内存 map 中查,能查到这就是*新状态,查不到再在数据库中读取。

这样下来,数据库的 IO 压力是可调整的。而能不能抗得住 5 秒内 4k 的 http 请求主要看服务器的 CPU 了。

quericy
    31

quericy   2016-11-20 14:35:12 +08:00   ❤️ 1

17 楼是源码么…
单用 is_numeric 过滤,可以被 16 进制绕过,某些情况下可以注入的…
goodryb
    32

goodryb   2016-11-20 15:32:17 +08:00

30 说的有道理,不过不想这么复杂的话,还是建议用 RDS 测试一下,先买个按量的实例,扛不住了就换个高规格的,没问题之后再买个包年包月的
当然了,省事就是费钱,量上来之后不行买高规格就搭配 redis 做缓存,没必要这么纠结
qq915458022
    33

qq915458022   2016-11-21 14:13:46 +08:00 via iPhone

@quericy 谢谢提醒,已经换成 is_int

新手建站求助, tomcat 跑 JAVA Web,预计同时在线人数约 50 人。服务器需要买怎么样的配置?

需求:同时在线人数大约 50 人,并发量应该可以当作 200 以内吧;流畅运行 tomcat ;访问速度快,请求延迟几十毫秒内。

请教配置应该购买怎么样的呢?

目前看中阿里云,双核,8G , 5Mbps 宽带。请问够用吗?

tomcat 人数 Java 在线10 条回复 • 2016-12-08 14:48:23 +08:00
lookst 1
lookst 2016-12-08 09:18:22 +08:00
大神们除了阿里云,有其他推荐吗?
xuhaoyangx 2
xuhaoyangx 2016-12-08 09:25:42 +08:00
什么 java web
ytmsdy 3
ytmsdy 2016-12-08 09:32:16 +08:00
1 核 2G , 5Mbps 就够了。。主要是带宽
miaomiaoweiwei 4
miaomiaoweiwei 2016-12-08 09:59:13 +08:00
要看你业务是什么吧?你 50 人在线,在线做什么?运算很多?还是每个人的内存使用很多?就 50 人在线,你就想保持 50 个 web socket 的话,那 1 核 2G 妥妥的。关键看你干啥。
wangzhangwei 5
wangzhangwei 2016-12-08 10:11:34 +08:00
跟业务有关系,一般的网站、论坛 1C2G 5M *对够用。
qcloud 6
qcloud 2016-12-08 10:14:00 +08:00 via iPhone
@lookst 试试腾讯云吧
MajorAdam 7
MajorAdam 2016-12-08 10:21:05 +08:00 via Android
低配够用
duolai798 8
duolai798 2016-12-08 10:26:57 +08:00
单核 4G5M 就够了,其实你可以先买一个月试试,配置不够再临时升级就完了。如果把静态资源 CDN 化,带宽可能都用不上 5M 。
spLite 9
spLite 2016-12-08 10:51:04 +08:00
看你跑什么业务了,我的没多少图片、音频, 1c 1g 1m…
Guladong 10
Guladong 2016-12-08 14:48:23 +08:00
利益相关,我是睿江云销售,你是正规网站吗?是的话可以在我这买一天测试看吧

100 个网站 放在一台高配置的服务器好还是放在十台低配置的服务器好

假设有 100 个网站,是放在一台高配置的服务器上好,还是放在十台每台只有那台高配置服务器的十分之一的服务器上好

服务器 放在 配置 台20 条回复 • 2018-03-26 17:59:44 +08:00
flyz 1
flyz 2017-04-30 07:32:02 +08:00 via Android
不要把鸡蛋放在一个篮子里面,但是也不能太分散,50 个网站一个服务器,相互备份。
bukip 2
bukip 2017-04-30 07:54:40 +08:00
那十台能均衡吗?
gouchaoer 3
gouchaoer 2017-04-30 08:10:30 +08:00 via Android
前者,省事
eabet 4
eabet 2017-04-30 08:37:44 +08:00
@flyz @bukip @gouchaoer 会想这个问题主要是有两点。
一、分为十台服务器,那 10 个系统跟服务的开销是个问题
二、当服务器配置不是瓶颈的时候,WEB 服务器软件是不是也是个瓶颈
那两者要怎么权衡
whileFalse 5
whileFalse 2017-04-30 08:42:37 +08:00
请详细描述你的需求。
“好”这个词太宽泛了。对于楼主的问题,好这个概念包括但不限于:
– 响应速度快
– 可用性高
– 避免相互影响
– 便宜
– 易维护
而楼主所给出的条件又太宽泛了。
楼主既不能指望一个简单的答案能适用所有情况,也不能指望其他人在论坛上给出针对各种可能的详尽分析。

PS:以我的经验,凡是问出这种宽泛又比较扯淡的问题,提问者需要的基本都不是问题本身的答案。
marknote 6
marknote 2017-04-30 08:43:12 +08:00 via iPhone
不能简单的看吧。
可能需要考虑资源比如 CPU 内存带宽的消耗之类的。
eabet 7
eabet 2017-04-30 08:54:15 +08:00
@whileFalse 我只是有点迷茫= =。现在遇到的问题就是不知道服务器要怎么架构。
情况是这样的,我们平台下有差不多上百个网站,程序都一样,PHP+MYSQL 只是模板不一样。
然后这些网站吧会受攻击,所以我们自建了 CDN。
之前的话,我们是把网站都放在一台机子上,但是*近服务器开始会卡卡的了,检查了一下是 MYSQL 的问题。
所以现在要对服务器进行升级了。
就遇到了这样的问题,是要升级这个服务器的配置,还是要把这些网站分开放= =
manhere 8
manhere 2017-04-30 08:56:43 +08:00 via Android
放一起,这不就是虚拟主机商做的事嘛
vebuqi 9
vebuqi 2017-04-30 08:59:46 +08:00 via Android
当然是分开放,才好做隔离,避免相互影响
Lax 10
Lax 2017-04-30 09:27:51 +08:00
把 mysql 分开就行了。汉堡可以切成几半来吃,也可以分层吃。

11
whileFalse 2017-04-30 10:25:06 +08:00
@eabet 既然是 mysql 的问题,为什么不把 mysql 独立出去呢
sholmesian 12
sholmesian 2017-04-30 10:47:05 +08:00 via iPhone
@eabet 你这个情况首先应该考虑数据库分离吧,如果是类似长期不变动的企业站内容可以考虑静态化减轻数据库压力。

单台机器出故障的概率和影响较大,根据情况不妨考虑采用类似均衡负载的架构设置前端机,按照网站重要程度/资源占用率/受攻击概率/是否新上线等情况分等级设置后端机提高可用性,代价是初始化和管理相对繁琐一些。
eabet 13
eabet 2017-04-30 12:26:59 +08:00
@whileFalse 已经在着手独立了 打算用云 SQL
@sholmesian 其实就是在纠结管理起来很麻烦= =
Showfom 14
Showfom 2017-05-03 03:53:30 +08:00
开虚拟机或者 docker
qq1242245799 15
qq1242245799 2017-05-03 16:36:35 +08:00
网站有大有小,我以前一个客户开了一台香港双核 4g 的,放了 100 多个网站,数据就有 80g,不知道怎么做到的
QQ2171775959 16
QQ2171775959 2017-05-08 09:39:17 +08:00
当然是分开放好些吧,不能把所有的鸡蛋放一个篮子里。
thinkxen 17
thinkxen 2017-05-15 22:03:09 +08:00
100 个网站放一个服务器足够了~~~如果资金充裕,当然是分别放不同机房不同的线路*好了~~~
scofieldpeng 18
scofieldpeng 2017-09-13 23:07:33 +08:00
无意看到这个 4 个月之前的,我司有 2w 多个客户站点,我用了不到 10 台千万云的屌丝机依旧抗,基本也是秒开,图片那些扔 cdn, 实际上每个站点带宽也很小,做好静态化和缓存,基本没问题,对于攻击,前端架带你负载均衡跑,挂掉一个马上换一个
chinaglwo 19
chinaglwo 2017-10-18 17:35:54 +08:00
100 个网站还真不多,一个高配服务器够了的,也省事,管理也是一种*大的成本。现在都隐藏服务器 IP,前端加 cdn 或者负载均衡或 waf。当然,一定要做好异机备份。

要知道,你如果弄 10 台低配置机器,每台放 10 个网站,你能保证出现问题的时候,一台机器放 20 个网站或者更多,能否跑得动?

考虑阿里云么,可以私信我,走我的渠道,在官网下单购买,有优惠。
fengyu110122 20
fengyu110122 2018-03-26 17:59:44 +08:00
服务器服务器商靠谱,并且不打算做站群的话,放一台方便些,可用购买快照备份,加服务器配置可用对所有网站生效。
要做站群或者想利于 SEO 的话,建议多个服务器存放。但是对其备份和管理难度就相对高一些。

参考 帝通科技

常用的Linux下查看服务器配置的命令

服务器型号
[root@k80 ~]# dmidecode|grep “System Information” -A9|egrep “Manufacturer|Product”
Manufacturer: Sugon
Product Name: W580-G20

操作系统
查看当前操作系统发行版信息

[root@k80 ~]# cat /etc/redhat-release
CentOS Linux release 7.3.1611 (Core)

查看操作系统发行版详细信息

[root@k80 ~]# lsb_release -a
LSB Version: :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description: CentOS Linux release 7.3.1611 (Core)
Release: 7.3.1611
Codename: Core

CPU
查看CPU统计信息

[root@k80 ~]# lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 12
On-line CPU(s) list: 0-11
Thread(s) per core: 1
Core(s) per socket: 6
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 63
Model name: Intel(R) Xeon(R) CPU E5-2609 v3 @ 1.90GHz
Stepping: 2
CPU MHz: 1780.062
BogoMIPS: 3805.02
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 15360K
NUMA node0 CPU(s): 0-5
NUMA node1 CPU(s): 6-11

查看CPU型号

[root@k80 ~]# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
12 Intel(R) Xeon(R) CPU E5-2609 v3 @ 1.90GHz

查看物理CPU个数

[root@k80 ~]# cat /proc/cpuinfo| grep “physical id”| sort| uniq| wc -l

查看每个物理CPU中core的个数(即核数)

[root@k80 ~]# cat /proc/cpuinfo| grep “cpu cores”| uniq
cpu cores : 6

查看逻辑CPU的个数

[root@k80 ~]# cat /proc/cpuinfo| grep “processor”| wc -l

内存
查看概要内存使用情况

[root@k80 ~]# free -g
total used free shared buff/cache available
Mem: 62 8 35 2 18 51
Swap: 31 0 31

-g是以GB为单位;也可以使用-m,即以MB为单位

查看内存硬件信息

[root@k80 ~]# dmidecode -t memory
# dmidecode 3.0
Scanning /dev/mem for entry point.
SMBIOS 3.0 present.

Handle 0x002B, DMI type 16, 23 bytes
Physical Memory Array
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: Multi-bit ECC
Maximum Capacity: 256 GB
Error Information Handle: Not Provided
Number Of Devices: 4

Handle 0x002C, DMI type 17, 40 bytes
Memory Device
Array Handle: 0x002B
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 32 GB
Form Factor: DIMM
Set: None
Locator: P1-DIMMA1
Bank Locator: P0_Node0_Channel0_Dimm0
Type: DDR4
Type Detail: Synchronous
Speed: 2400 MHz
Manufacturer: Samsung
Serial Number: 35A24C2F
Asset Tag: P1-DIMMA1_AssetTag (date:17/19)
Part Number: M393A4K40BB1-CRC
Rank: 2
Configured Clock Speed: 1600 MHz
Minimum Voltage: Unknown
Maximum Voltage: Unknown
Configured Voltage: Unknown

……

查看内存详细使用情况

[root@k80 ~]# cat /proc/meminfo
MemTotal: 65683572 kB
MemFree: 35808252 kB
MemAvailable: 52288668 kB
Buffers: 1020 kB
Cached: 18199556 kB
SwapCached: 0 kB
Active: 20343632 kB
Inactive: 7164792 kB
Active(anon): 9343616 kB
Inactive(anon): 2116004 kB
Active(file): 11000016 kB
Inactive(file): 5048788 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 32964604 kB
SwapFree: 32964604 kB
Dirty: 1384 kB

……

查看内存的插槽数,已经使用多少插槽.每条内存多大

[root@k80 ~]# dmidecode|grep -A5 “Memory Device”|grep Size|grep -v Range
Size: 32 GB
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: 32 GB
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed
Size: No Module Installed

硬盘
查看硬盘和分区分布

[root@k80 ~]# lsblk
NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT
sda 8:0 0 558.9G 0 disk
├─sda1 8:1 0 1G 0 part /boot
└─sda2 8:2 0 557.9G 0 part
├─cl-root 253:0 0 50G 0 lvm /
├─cl-swap 253:1 0 31.4G 0 lvm [SWAP]
└─cl-home 253:2 0 476.5G 0 lvm /home
sr0 11:0 1 1024M 0 rom

查看硬盘和分区的详细信息

[root@k80 ~]# fdisk -l

Disk /dev/sda: 600.1 GB, 600127266816 bytes, 1172123568 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes
Disk label type: dos
Disk identifier: 0x00011d6e

Device Boot Start End Blocks Id System
/dev/sda1 * 2048 2099199 1048576 83 Linux
/dev/sda2 2099200 1172121599 585011200 8e Linux LVM

Disk /dev/mapper/cl-root: 53.7 GB, 53687091200 bytes, 104857600 sectors
Units = sectors of 1 * 512 = 512 bytes
Sector size (logical/physical): 512 bytes / 512 bytes
I/O size (minimum/optimal): 512 bytes / 512 bytes

……

其他
查看网卡的硬件信息

[root@k80 ~]# lspci | grep -i ‘eth’
81:00.0 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)
81:00.1 Ethernet controller: Intel Corporation I350 Gigabit Network Connection (rev 01)

查看显卡运行状况

[root@k80 ~]# nvidia-smi
Thu Nov 23 10:32:20 2017
+—————————————————————————–+
| NVIDIA-SMI 375.26 Driver Version: 375.26 |
|——————————-+———————-+———————-+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 Tesla K80 Off | 0000:04:00.0 Off | 0 |
| N/A 60C P0 75W / 149W | 4344MiB / 11439MiB | 2% Default |
+——————————-+———————-+———————-+
| 1 Tesla K80 Off | 0000:05:00.0 Off | 0 |
| N/A 43C P0 89W / 149W | 2196MiB / 11439MiB | 15% Default |
+——————————-+———————-+———————-+
| 2 Tesla K80 Off | 0000:08:00.0 Off | 0 |
| N/A 90C P0 100W / 149W | 2196MiB / 11439MiB | 98% Default |
+——————————-+———————-+———————-+
| 3 Tesla K80 Off | 0000:09:00.0 Off | 0 |
| N/A 60C P0 87W / 149W | 4212MiB / 11439MiB | 26% Default |
+——————————-+———————-+———————-+

+—————————————————————————–+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 25459 C python3 4336MiB |
| 1 25459 C python3 2188MiB |
| 2 25459 C python3 2188MiB |
| 3 25459 C python3 4204MiB |
+—————————————————————————–+
WARNING: infoROM is corrupted at gpu 0000:04:00.0

Minecraft多人联机服务器配置

事前准备
1个Minecraft服务器
一台好电脑(系统无所谓,我这里用Windows)
一个敢于折腾的心
开始配置
解压之前下载的服务器,至于解压到哪随便你只要懂得变通就行.
我的世界官方服务器有配置教程
打开eula.txt更改eula=false为eula=true表示你同意EULA
在当前目录下打开终端输入java -Xincgc -Xmx1G -jar 核心文件名.jar官方服务器可以加nogui来关闭图形界面节省性能(显着减少内存和CPU资源占用)
在终端不在跑码时输入stop关闭服务器.如果是第三方服务器要等插件加载完毕,判断方法是在终端输入?看看会不会打印帮助,会就表示开启成功
在服务器关闭后打开server.properties文件我们需要修改以下字符=后的内容
server-name=Unknown Server #服务器名称,中文需要转换编码
gamemode=0 #默认游戏模式0生存、1创造、2冒险、3旁观者(1.8后)
difficulty=1 #默认游戏难度0和平、1简单、2普通、3困难
pvp=true #允许玩家vs玩家(玩家间伤害),关闭改成false
enable-command-block=true #开启命令方块
server-ip=127.0.0.1 #服务器IP,填局域网地址
server-port=25565 #服务器端口,默认25565
level-name=world #世界名称
online-mode=false #正版验证,默认为true,开启后盗版不能登陆服务器
max-players=100 #*大玩家数量,默认20
max-build-height=256 #*大建筑高度
level-seed= #地图种子,默认为空
motd=A Minecraft Server #服务器描述,中文要编码

到这里基础配置完成

进阶配置
官方服务器加Forgemod加载器
下载Forge服务器版直接选择服务器根目录安装就行
mod要服务器版,丢到mode文件夹就行

我的世界服务器配置文件

server.properties配置文件

generator-settings=					#井号开头的内容为注释
op-permission-level=4				#op权限等级 
allow-nether=true					#允许末地 
level-name=world					#主世界文件夹名称 
enable-query=false					#是否开启GameSpy4协议服务器监听器
allow-flight=true					#是否允许飞行 
announce-player-achievements=true	#公布玩家成就信息 
server-port=25566					#服务器端口 
level-type=DEFAULT					#世界类型 
enable-rcon=false					#是否开启rcon监听
force-gamemode=false				#force游戏模式
level-seed=							#服务器种子 
server-ip=192.168.19.32				#服务器指向ip
max-build-height=256				#建筑*大高度 
spawn-npcs=false					#是否有主城NPC 
white-list=false					#是否开启白名单 
spawn-animals=true					#是否允许动物生成 
hardcore=false						#是否开启*限模式
snooper-enabled=false				#是否给snoop.minecraft.net网站发送服务器数据,推荐关闭
online-mode=false					#是否联网游戏(非正版一定要改false) 
resource-pack=						#服务器资源包下载地址
pvp=true							#是否开启pvp 
difficulty=3						#服务器难度 和平0~3困难(自行调整)
enable-command-block=true			#是否开启命令方块 
server-name=Server					#服务器名称 
gamemode=0							#游戏模式 
player-idle-timeout=0				#服务器*长挂机时间 
max-players=20						#*大玩家数 
spawn-monsters=true					#是否允许生成怪物 
generate-structures=true			#是否生成建筑物
view-distance=10					#可见距离 
motd=Server							#服务器标语 

制作一个简单的官网应该买多大的服务器配置?

*近和朋友一起做了一款冲泡的饮品,产品目前只有一个品种,想建个官网。 国外的服务器又太慢,想迁到国内的阿里云,但是阿里云的配置和价格一直挺疑惑的。 官网类似这样的: http://www.puffant.com/ 不知道阿里云应该买什么样的配置。

kchum 2016-08-08 15:28:46 +08:00
看流量啊
Hiufan 2
Hiufan 2016-08-08 15:37:34 +08:00
@kchum 刚开始做应该流量不会很大。我估计一天可能 1k 的 pv 都不会有。
manhere 3
manhere 2016-08-08 15:38:48 +08:00
没有啥在线定制功能只是为展示用途的话用虚拟主机就行了
jugelizi 4
jugelizi 2016-08-08 15:46:14 +08:00
*低的就够了
Hiufan 5
Hiufan 2016-08-08 15:47:40 +08:00
只是展示。
Hiufan 6
Hiufan 2016-08-08 15:48:25 +08:00
@jugelizi *低就是 1 核 1G , 1M 带宽这样子?
newghost 7
newghost 2016-08-08 15:59:28 +08:00
你要用 node.js *低配置能跑三个网站
ys0290 8
ys0290 2016-08-08 16:01:07 +08:00 via iPhone
虚拟主机
TangMonk 9
TangMonk 2016-08-08 16:05:22 +08:00
*低,加一个 cdn, 足矣
TangMonk 10
TangMonk 2016-08-08 16:06:05 +08:00
既然国外有服务器就不用买国内了,买一个阿里云的 CDN 就好了

Hanxv 11
Hanxv 2016-08-08 16:46:11 +08:00 via Android
只是展示的话,直接做静态的,扔 gh 上。
觉得速度慢,挂个 cdn 就可以了
ETiV 12
ETiV 2016-08-08 16:53:03 +08:00 via iPhone
直接静态页丢 cdn 上去。
Sunyanzi 13
Sunyanzi 2016-08-08 16:53:45 +08:00
如果纯静态直接丢 Coding Page 上 … 香港节点 … 免费免备案 …

如果有部分动态内容用阿里云的 EWS … 两百一年 …

如果对稳定性也没要求的话可以选择其他家的服务 … 国内主机*低大概十块钱一年 …
ug888168 14
ug888168 2016-08-08 16:54:02 +08:00
*低的配置已经够了
ETiV 15
ETiV 2016-08-08 16:55:26 +08:00 via iPhone
直接静态页丢 cdn 上去。

upyun 貌似有个创业扶持计划,折扣还是免费的忘了

7 牛也有类似活动
Hiufan 16
Hiufan 2016-08-08 17:23:15 +08:00
@newghost 我有这个想法。我想用 thinkjs 搭一个。
Hiufan 17
Hiufan 2016-08-08 17:23:34 +08:00
@TangMonk 需要备案吗?
TangMonk 18
TangMonk 2016-08-08 17:25:58 +08:00
@Hiufan 国内的都需要备案
hermitu 19
hermitu 2016-08-08 17:28:30 +08:00 via Android
*低配置就可以,需要的话我这里有景安的云服务器更好一些
Hiufan 20
Hiufan 2016-08-08 17:49:43 +08:00
@ETiV 好的,我看看
Hiufan 21
Hiufan 2016-08-08 17:53:28 +08:00
@Sunyanzi 你提醒了我,也许我可以换个思维。像以前 gitcafe 好像也是直接绑域名就可以的,不用备案。
passion336699 22
passion336699 2016-08-08 18:00:48 +08:00 via Android
1g1 核 1m , 68/月
Showfom 23
Showfom 2016-08-08 18:01:39 +08:00
*低款+CDN 即可
prondtoo 24
prondtoo 2016-08-08 18:05:41 +08:00 via Android
我们公司免费半年….我不是托,但是性能还行。
julor 25
julor 2016-08-08 18:47:05 +08:00 via Android
用百度 bae 吧,*低 0.2 元每天
Hiufan 26
Hiufan 2016-08-08 22:54:10 +08:00
@prondtoo 看看?
jackon 27
jackon 2016-08-09 00:52:01 +08:00
阿里云*低的配置,*低的带宽就可以。
去年用 flask 做了个网站,日 PV 5000+,无性能问题。

后台还跑着一个爬虫,很多页面需要从 mysql query 几万条数据出来做计算。
3247425418 28
3247425418 2016-08-10 10:09:07 +08:00
是啊,用*低的就行了。
abel163 29
abel163 2016-08-10 12:02:28 +08:00
能备案的选择很多,阿里,腾讯,。。。
lsoknet 30
lsoknet 2016-08-10 22:45:00 +08:00 via Android
idcen.com
qq1242245799 31
qq1242245799 2016-08-18 11:12:50 +08:00
@abel163 是吗,就不能选择一下葵芳云?
fengyu110122 32
fengyu110122 2018-03-29 15:43:40 +08:00
这个*基础的配置就可以了,或者想省钱的话可以申请帝通科技的免费虚拟主机。
不过有限制,限大学生和创业团队。详情看这里: http://www.dtidc.com/vhost/cn/

每隔五秒有 4k 用户轮询该用什么配置的服务器

每个用户请求就会 UPDATE 一下 mysql 数据库。。 如果只有一台服务器,求问各位 V 友至少要什么配置

abelyao 2016-11-19 22:08:42 +08:00
4000 请求是同时产生还是会有错开一两秒? update 的 sql 复杂不?单次执行时间是多少? mysql 是也在本地吗?
prondtoo 2
prondtoo 2016-11-19 22:15:04 +08:00
刷单么?
ipconfiger 3
ipconfiger 2016-11-19 22:16:05 +08:00
这个量级基本上大多数服务器都很轻松能扛下来嘛, Linux 修改一下 open file 的 limit 就好了
powergx 4
powergx 2016-11-19 22:16:56 +08:00 via iPhone
intel 3700 ssd 一块搞定,为了安全*好 raid1
qq915458022 5
qq915458022 2016-11-19 22:45:35 +08:00
@abelyao 会错开一两秒。。 sql 非常简单,就是基本的 Update 一格。 mysql 在本地,服务器还没租所以也不知道时间。。
我主要是担心 cpu 吃不消
一般这种 CPU 和内存该配多大啊?
qq915458022 6
qq915458022 2016-11-19 22:46:10 +08:00
@ipconfiger 谢谢了,那我租阿里 2 核 2G 够吗?
qq915458022 7
qq915458022 2016-11-19 22:46:45 +08:00
@powergx 租服务器
qq915458022 8
qq915458022 2016-11-19 22:47:50 +08:00
@prondtoo 刷单的话服务器的承载能力就不是我考虑的了?
powergx 9
powergx 2016-11-19 22:54:38 +08:00 via iPhone
@qq915458022 阿里的磁盘 大概几十 ipos ,你要么放到 memcache /redis ,要么独立开数据库服务
txlty 10
txlty 2016-11-19 22:56:16 +08:00
*好优化下架构,把这个 update 缓进内存。

ipconfiger 11
ipconfiger 2016-11-19 23:07:19 +08:00
@qq915458022 *好用 SSD 的 VPS, 不然 MySQL 装本地性能堪忧.

另外如果每次请求都有一次 update 的请求的话, 那基本就是在考 mysql 的性能了, 加缓存什么的治标不治本, 除非你的服务请求的频度是根据时间还有不同, 分了峰值和谷值的.

有很多情况还不清楚, 所以暂时没法给你进一步的建议
qq915458022 12
qq915458022 2016-11-19 23:16:14 +08:00
@ipconfiger 使用阿里的独立数据库呢?
qq915458022 13
qq915458022 2016-11-19 23:16:56 +08:00
@powergx 我也觉得独立数据库比较可行,但是阿里的独立数据库是内网的吗?网络延迟如何?
ipconfiger 14
ipconfiger 2016-11-19 23:22:09 +08:00
@qq915458022 看你独立数据库服务器选的等级咯, 我觉得你还是先从访问模式的分析开始比较好, 你的业务什么访问模式都不清晰的情况下盲目做架构基本都跟找死没区别, 除非钱多, 用服务器来堆
moult 15
moult 2016-11-19 23:30:41 +08:00
1 、如果更新的是同一行记录的话,或者就那么几行的话,可以用 Redis 缓存一下更新请求,然后汇总之后放到 SQL 上面。
2 、如果更新记录不固定的话,可以在给更新请求加个队列,把 4K 的请求分散到 5 秒,不就是 800QPS 了。
shiny 16
shiny 2016-11-19 23:33:09 +08:00
擦车做的好,低配机器轻松扛下来。做得不好,主要看 io 的。
qq915458022 17
qq915458022 2016-11-19 23:57:13 +08:00
@ipconfiger 软件性质比较敏感,不好细说。。
但也就是很简单的用 php update 一下
源码: http://ofhr82r8c.bkt.clouddn.com/%E6%97%A0%E6%A0%87%E9%A2%98.png
qq915458022 18
qq915458022 2016-11-19 23:59:02 +08:00
@moult 那就直接开一个 redis 的数据库应该就可以吧?
ipconfiger 19
ipconfiger 2016-11-20 00:06:05 +08:00
@qq915458022 我是说的访问模式, 比如你说的每 5 秒陆续会产生 4K 次请求, 那么是一直都是这个频度还是峰值是这个频度然后会有一段时间没有这么高的频度
qq915458022 20
qq915458022 2016-11-20 00:07:26 +08:00 via iPhone
@ipconfiger 一直保持
billlee 21
billlee 2016-11-20 00:36:14 +08:00
如果均匀分布的,那么 IOPS 是 800 s^-1, 如果要持久化到磁盘就必须要用 SSD.
如果可以放弃持久性要求,可以用 redis 或者把 innodb_flush_log_at_trx_commit 设置成 0.
qq915458022 22
qq915458022 2016-11-20 00:39:45 +08:00 via iPhone
@billlee 我先上个 ssd 试试吧
实在不行就准备弄分布式了?
ipconfiger 23
ipconfiger 2016-11-20 00:54:21 +08:00
@qq915458022 如果一直是这个频度的话, 基本上压力都是在数据库上了, 前端加什么都不好使, 先上个阿里云的 RDS 自己测一下 TPS, 能超过 1000 就 ok, 可以从*小规格的开始实验.
我在网上找到一个评测文章你可以参考一下:
http://chuansong.me/n/2057150

另外, 如果全是 update, 而且 MySQL 测试出来不 满足 1000 的 TPS, 比如只有 200(原来年幼无知的时候在阿里云的*挫的 VPS 上本机装 mysql 测出来的结果). 那么可以用 redis 来做个对列, 如果光用对列是没用的, 因为写入数据库的频度始终比来数据的小, 所以对列会一直堆积耗光内存, 我原来做的对列是可以合并 update 请求的, 比如用 update 一个计数作为例子, 如果发现前面有未执行的 update 的值, 就把几次请求合并成一次数据库写入, 这样子数据库就不需要那么高的 TPS 了.
qq915458022 24
qq915458022 2016-11-20 01:14:16 +08:00 via iPhone
@ipconfiger 因为数据是实时的而且要能在后台实时反应出来。。如果用内存积压的方法还要再从内存中读出来,感觉很麻烦。

目前配置可以往上堆,但是日后用户可能还要增长几倍(现在是测试小组 4000 人?),又只有一台服务器,所以有点伤感?
qq915458022 25
qq915458022 2016-11-20 01:16:01 +08:00 via iPhone
@ipconfiger 其实也可以考虑合并呢。。隔 5s update 一次也会缓解很多,而且这下只考内存了
billlee 26
billlee 2016-11-20 01:25:18 +08:00
@ipconfiger 其实不需要在逻辑上对 UPDATE 请求做合并,只要把一串 UPDATE 放到一个 transaction 里去执行,速度就会快很多了吧,瓶颈一般是每次提交事务时 flush redo log 产生的 IO 操作。
fuxkcsdn 27
fuxkcsdn 2016-11-20 12:22:11 +08:00 ❤️ 1
1 , SELECT * FROM userstatus 改掉,只取要用到的字段,还有,如果 phone 字段不是主键或者没有唯一索引的话, SQL 语句后面加上 LIMIT 1 (除非你的业务逻辑存在取多条记录的可能)
2 , UPDATE 语句打印 explain 出来看看(需要 MySQL 5.6 以上),可能的话把 UPDATE 语句完整的贴出来

BTW ,可以 isset($_GET[‘phone’], $_GET[‘sim’], $_GET[‘group’]) && is_numeric($_GET[‘phone’]) && is_numeric($_GET[‘sim’]) && ….
billwang 28
billwang 2016-11-20 12:32:20 +08:00
一般来说,试一下,扛得住就行,看不住再升级。:)
ipconfiger 29
ipconfiger 2016-11-20 12:56:05 +08:00
@billlee 因为逻辑上来说只需要同步*终状态所以合并处理是*优的, 这个方案是原来做游戏服务器的时候用的, 主要的数据操作都在内存完成, 往数据库存只是为了持久化, 那么其实只需要持久化*终状态即可
kaneg 30
kaneg 2016-11-20 13:53:21 +08:00 ❤️ 1
看了楼主发的代码截图,其实就是在数据库中持久化以 phone 为 key , owner 和 sim 为 value 的一个 map ,而这个 map 的大小为 4k 。所以*简单的办法就是在内存中保持这个 map ,新来的请求就只是更新这个 map 。而这个 map 多长时间刷新到数据库就看你的数据库的压力承受能力。

如果要读取用户的状态,只要先在内存 map 中查,能查到这就是*新状态,查不到再在数据库中读取。

这样下来,数据库的 IO 压力是可调整的。而能不能抗得住 5 秒内 4k 的 http 请求主要看服务器的 CPU 了。
quericy 31
quericy 2016-11-20 14:35:12 +08:00 ❤️ 1
17 楼是源码么…
单用 is_numeric 过滤,可以被 16 进制绕过,某些情况下可以注入的…
goodryb 32
goodryb 2016-11-20 15:32:17 +08:00
30 说的有道理,不过不想这么复杂的话,还是建议用 RDS 测试一下,先买个按量的实例,扛不住了就换个高规格的,没问题之后再买个包年包月的
当然了,省事就是费钱,量上来之后不行买高规格就搭配 redis 做缓存,没必要这么纠结
qq915458022 33
qq915458022 2016-11-21 14:13:46 +08:00 via iPhone
@quericy 谢谢提醒,已经换成 is_int

本地远程工具连接阿里云服务器配置流程

一、购买阿里云服务器

二、配置

进人购买的实例之后看图配置

%title插图%num %title插图%num

配置完一定要记得重启实例!!!

三、用本地远程工具连接实例

%title插图%num

无论是使用什么远程工具使用SSH连接的时候,一定要填实例的公网IP,不要填私网IP!!!

四、使用云服务器连接Git

1.下载git服务

@ yum install git

2.创建一个你喜欢的文件夹并初始化

@ mkdir YourGit
@ cd YourGit/
@ git init

3.添加源

@ git remote add origin (项目源URL eg:https://github.com/xxx/xxx/)

4.*次提交本地文件

@ git push –set-upstream origin master

5.提交流程

@ git add .
@ git status
@ git commit -m “备注信息”
@ git pull
@ git push

友情链接: SITEMAP | 旋风加速器官网 | 旋风软件中心 | textarea | 黑洞加速器 | jiaohess | 老王加速器 | 烧饼哥加速器 | 小蓝鸟 | tiktok加速器 | 旋风加速度器 | 旋风加速 | quickq加速器 | 飞驰加速器 | 飞鸟加速器 | 狗急加速器 | hammer加速器 | trafficace | 原子加速器 | 葫芦加速器 | 麦旋风 | 油管加速器 | anycastly | INS加速器 | INS加速器免费版 | 免费vqn加速外网 | 旋风加速器 | 快橙加速器 | 啊哈加速器 | 迷雾通 | 优途加速器 | 海外播 | 坚果加速器 | 海外vqn加速 | 蘑菇加速器 | 毛豆加速器 | 接码平台 | 接码S | 西柚加速器 | 快柠檬加速器 | 黑洞加速 | falemon | 快橙加速器 | anycast加速器 | ibaidu | moneytreeblog | 坚果加速器 | 派币加速器 | 飞鸟加速器 | 毛豆APP | PIKPAK | 安卓vqn免费 | 一元机场加速器 | 一元机场 | 老王加速器 | 黑洞加速器 | 白石山 | 小牛加速器 | 黑洞加速 | 迷雾通官网 | 迷雾通 | 迷雾通加速器 | 十大免费加速神器 | 猎豹加速器 | 蚂蚁加速器 | 坚果加速器 | 黑洞加速 | 银河加速器 | 猎豹加速器 | 海鸥加速器 | 芒果加速器 | 小牛加速器 | 极光加速器 | 黑洞加速 | movabletype中文网 | 猎豹加速器官网 | 烧饼哥加速器官网 | 旋风加速器度器 | 哔咔漫画 | PicACG | 雷霆加速