想了解下 大数据时代大网站都是怎么处理高并发的,最好能举个例子说明.本人菜鸟一只 - - 现在连mysql 几百并发都搞不定啊
本文由 vps网友提供,转载请注明出处
本文链接: https://www.vpsvsvps.com/discuss/a/1676471627426041856.html
本文由 vps网友提供,转载请注明出处
本文链接: https://www.vpsvsvps.com/discuss/a/1676471627426041856.html
1. 尽量别依赖数据库来实现数据的关联关系。
知乎内部的 MySQL 使用准则中,就禁止使用 JOIN、GROUP BY、子查询和外键。
说实话,这等于使用非关系型数据库了。
2. 查询主要靠缓存和索引。
但千万别乱加缓存和索引,它们和表的结构、业务逻辑、使用频率之间有且只有一个最优解。
你只能靠经验和测试来寻找,而且越到后期,这些就越难改动。
做到这 2 点还有瓶颈的话,基本也是价值不菲司了,也不会缺有经验的 DBA 了。
这时的瓶颈主要在写了,就通过分离读写、分库、使用 SSD 的方式来满足吧。这部分我也不熟。
都是靠横向和纵向扩展的
业务系统的关系数据库查询和插入都很复杂的,就算你能把操作平均到10毫秒,一秒也就能处理100个,但实际情况是远远达不到。 但你可能通过扩展多个工作进程达到n倍的性能改进。
但最终,数据库又是瓶颈,你只好再对数据库做扩展(但对关系数据库做扩展都比较麻烦), 或使用内存数据库。 很多人使用mongdb, 无非就是他标称的快和所谓的扩展能力。
「现在连mysql 几百并发都搞不定啊」
烂的SQL语句可以让机器表现变慢1万倍。
充分利用缓存了没?用好缓存能解决绝大部分「性能问题」。
web静态缓存(varnish/squid),对象内存缓存(memcached),db 查询缓存,等等。