A. 用php编写支持高并发的网站,需要做什么处理
PHP语言开发高并发的网站,需要加缓存,复杂逻辑走消息队列异步处理,mysql查询必须走索引,还搞不定就加机器分流,mysql配置升高并且一主多从,使用codis集群,增加消息队列的消费者,如果还搞不定就随机拒绝请求,当然这是最后的退路。
缓存
缓存是避免业务查询过多的请求mysql,导致业务不可用,段氏根据场景来判断是否需要使用codis集群,如果并发量没有达到某个级别,16G的redis也可以,但是要避免redis在高并发下容易发生的缓存穿透,尽量做成高可用,并保证缓存实现的命中率。
消息队列
这也是高并发情境下的杀手锏,削峰填谷,将耗时的业务逻辑直接以队列的形式异步慢慢处理,防止请求过度积压,导致的服务器不可用。
mysql优化
有些场景下必须查询mysql的,也应该走索引,避免多表联合查询,甚至mysql的事务隔离级别都尽量的降低,或者直接去掉事务,采用最终一致性的补偿指明机制。升级mysql的配置,核心数和内存的提升对查询速度的优化是显而易见的,最好能一步到位的走一主多从,查询路由到从服务器上。
随机拒绝请求
这不是开玩笑,我们必须保证服务器可用,宁愿拒绝掉一些请求,也不能让服务器大量请求阻塞握逗散,最终导致大家都用不了。
B. PHP高并发下单用事务可以解决吗
事物不是解决高并发的。事物是为了一个操作的完整性才使用的。
php的高并发在我看主要以来php脚本的执行速度,以及对数据库的数据访问的次数,还有缓存系统的使用(包括数据缓存以及模板缓存),系统架构的优化。
还有就是web服务器做负载均衡,域名cdn做负载均衡等。
C. PHP做游戏服务端可以达到多少并发
PHP做游戏服务端可以达到并发十万。
包括使用缓存加速工具,经过优化后web性能有明显的提高。这是我用压力测试工具测试的并发数量。
自己下载个软件来做下压力测试才能得出较准确的数据,使用nginx更多是用来支持动态页面,而且还可以做代理和一些限制设置,但论功能而言比apache更广, apache 更擅长于对静态页面的解释,稳定且比nginx配置更为简单。
2012年数据:
2012上半年,中国游戏市场(包括PC网络游戏市场、移动网络游戏市场、PC单机游戏市场等)实际销售收入248.4亿元人民币,比2011上半年增长了18.5%。
2012上半年,中国PC网络游戏市场实际销售收入(包括了客户端网游、网页游戏、社交游戏及游戏平台的市场销售额)为235.5亿元人民币,比2011上半年增长了16.9%。
2012上半年,中国自主研发的PC网络游戏市场实际销售收入为168.6亿元人民币,占网络游戏市场实际销售收入的71.6%,较2011年同期的63%左右有明显提升。
D. thinkphp并发量一般多高
thinkphp并发量有105高。核2G1M服务器原生php并发105左右。thinkphp5.0框架并发量106,CPU使用率到达70%,受限于带宽,可以达到更高的并发。
E. php闱㈣瘯闂骞跺彂閲忓氩皯
php闱㈣瘯鏄岀氦闂骞跺彂閲10銆侾HP闱㈣瘯涓锛屽苟鍙戦噺镄勯梾棰橀渶瑕佹牴鎹涓氩姟𨱍呭喌𨱒ュ喅瀹氥备竴鑸𨱒ヨ达纴涓鍨嬮”鐩镄勫苟鍙戦噺鍦4-8涔嬮棿锛岃屽ぇ鍨嬮”鐩镄勫苟鍙戦噺搴旇ュ湪10鎴栦互涓娿傝繖镙锋墠鑳戒缭璇佺郴缁熺殑绋冲畾镐у拰镐ц兘銆傚悓镞讹纴杩橀渶瑕佽冭槛璁╃毊鍒扮绣绔欑殑镓╁𪾢镐э纴濡傛灉涓氩姟閲忚愭粦浠垮炲姞锛岄偅涔埚苟鍙戦噺涔熷簲璇ョ浉搴斿炲姞銆