并发2000的网站应该如何优化?

SamuelJames 发布于 2014/09/20 22:54
阅读 1K+
收藏 5
公司游戏平台做推广,并发要达到2000,环境是apache加php加mysql请问该如何优化?
加载中
0
月影又无痕
月影又无痕
无法回答, 业务不同.具体问题具体分析
0
eechen
eechen
可以看下全球访问量最高的视频色情网站YouPorn技术架构: 
http://blog.andreamostosi.name/2013/04/how-it-works-youporn/ 

YouPorn占据整个互联网每秒流量2%, 100Gb/s, 300K queries/s, 是全球访问量最高的视频色情网站. 
HAProxy->Varnish->Nginx->  PHP-FPM ->Symfony2->Doctrine->HAProxy->Redis/MySQL 
采用HAProxy做负载均衡,智能分发和后端健康检查. 
采用Syslog-ng来处理集群环境下的日志,其实就是用来收集页面浏览时的数据,比如视频查看计数器. 

Datastore is the most interesting part. Initially they used MySQL but more than  200 million of pageviews  and  300K query per second   are too much to be handled using only MySQL. First try was to add  ActiveMQ  to enqueue writes but  a separate  Java  infrastructure is  too  expensive   to be maintained . Finally they add  Redis  in front of  MySQL  and use it as main datastore. 

Now all reads come from Redis.  MySQL is used to allow the building new sorted sets as requirements change and it’s highly normalized because it’s not used directly for the site. After the switchover additional Redis nodes were added, not because Redis was overworked, but because the network cards couldn’t keep up with Redis :D 

Lists are stored in a sorted set and MySQL is used as source to rebuild them when needed. Pipelining allows Redis to be faster and Append-only-file (AOF) is an efficient strategy to easily backup data. 
kslr
kslr
回复 @eechen : 2233
eechen
eechen
回复 @kslr : 给楼主做参考。HAProxy,Varnish, Nginx,Redis这些方案的组合确实都能够帮助楼主解决高并发问题。
kslr
kslr
怎么老是发这个
0
寒川
寒川
apache+mysql楼主等着挂服务器吧
0
wanglijun
wanglijun
主要看你的数据具有多少了和业务对实时性数据的要求,最能读写分离。多使用Redis 另外建议使用Nignx
0
自主创新
自主创新
看对数据库的请求,其他的不存在瓶颈,不超过100的请求就4g内存足够了,要热备就两台,推广平台似乎就是简单的计数,不需要做什么处理吧
0
南湖船老大
南湖船老大

    先定性,2000并发这种,不是个小问题。不过说大不大,说小也不小。这里的2000并发,绝对不是那种hello word跑分跑出来的2000,如果说是真实业务,那要达到2000也不容易。

    再定性,nginx+FPM,能勉强完成2000并发的任务。

    再定性,不要迷信nginx+FPM,这不是高性能,就是拿普通的开源软件组合下,搞出来的噱头。这其实就是一套穷人和普通人的组合,完成一般的应用场景。真正到了高的需求层次,就需要更深的订制和独立开发。比如淘宝的tengine组合了Lua,还有(百度?)zimg,秒杀Nginx+PHP的组合。

0
zhuxinyu
zhuxinyu

最近自己建了一个网站,java的。因为系统配置很低也做了一些优化,你可以参考http://yiqi.52menshao.com/content/1051。 主要是做了几点 1. 对不经常更新的内容静态化 2. 采用了公共 CDN 加速(这个对配置低的系统非常有效)3. 对文件进行gzip压缩 4. 可以进行浏览器缓存 等等。

2000的并发其实不是什么大问题,机器稍微好点java中用tomcat就可以做到。

返回顶部
顶部