项目性能优化经验--ZY(三)

标签: 项目 性能优化 经验 | 发表时间:2014-11-24 13:30 | 作者:patrick002
出处:http://www.iteye.com

1. 关于读写分离

读写分离,不是想做就做的,说分就分的,随便找个中间件把请求一转发就OK的

比如,在项目中有个模块是购物车(现在的电子商务一般都需要存储购物车内容,因为存在PC,MOBILE等不同的终端),客户先点击添加购物车,然后结算(这时候会做个判断购物车是否有商品),在大并发情况下,mysql的读库和写库的同步(beanlog)严重的delay,导致购物车一直判断为空,订单无法下

最后的解决方式是:从前台直接把购物车发到后台,不用验证了

读写分离是需要策略的,是需要根据需求来区分,哪些实时性很强的数据(可以一个库),哪些实时性不强的数据(支持分离),项目用了ameoba,应该是支持根据路径来转发不同的请求

 

2. 最大的问题,网络及硬件

之前说道的其实都是代码,逻辑,db的问题,这些其实都是好解决的,因为毕竟都是非常成熟的技术,也没有很大的性能要求,过得去就行了

网络才是最难搞的

见组网图:



 

 

出现的一个问题就是,网络节点太多,一次从sd的登陆,居然跳转了30多个节点,然后登陆整个很慢,带宽网速感觉都是问题

 

系统拓扑图:



 

接下来更多的是,Ngnix调优配置,mysql配置调优,日志监控等



已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [项目 性能优化 经验] 推荐:

项目性能优化经验--ZY(三)

- - 行业应用 - ITeye博客
读写分离,不是想做就做的,说分就分的,随便找个中间件把请求一转发就OK的. 比如,在项目中有个模块是购物车(现在的电子商务一般都需要存储购物车内容,因为存在PC,MOBILE等不同的终端),客户先点击添加购物车,然后结算(这时候会做个判断购物车是否有商品),在大并发情况下,mysql的读库和写库的同步(beanlog)严重的delay,导致购物车一直判断为空,订单无法下.

项目性能优化经验--ZY(二)

- - 行业应用 - ITeye博客
项目中,用了很多的LAZY级联,在页面用到的时候再去load,这样就使用Open Session In View的功能,在大并发且网络不好的情况下,会导致session迟迟不能释放(session要等页面request请求完全结束之后才close),即connection也没法释放. 之前项目都是使用EAGER,JSON数据传递的方式来处理,整个连接池太小不过100就能顶住1000+的并发下单.

项目性能优化经验--ZY项目

- - 行业应用 - ITeye博客
最近负责给公司某个ZY项目进行性能优化的一些经验分析. 压力测试到100并发,任何一个场景CPU暴高,接近100%. 查询jstack日志,发现大部分的线程block在tomcat 的 http11.connect 的poll方法上 或者是c3p0连接池的获取上. 同时发现该项目数据库连接池配置了2000+,仍然不够用,100并发.

PHP项目性能优化

- - SegmentFault 最新的文章
PHP项目性能优化的三个层次. PHP周边(服务器,数据库,webserver). 尽量使用PHP原生函数和常量,类. 如果要实现的功能有原生PHP函数,则不要自己用PHP实现. 尽量使用性能更高的内置函数. 比如isset和array_key_exists都可以使用,则使用isset. 尽量不要使用错误抑制符@.

SQL性能优化十条经验

- - CSDN博客推荐文章
尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用.. 其实只需要对该脚本略做改进,查询速度便会提高近百倍. a、修改前台程序——把查询条件的供应商名称一栏由原来的文本输入改为下拉列表,用户模糊输入供应商名称时,直接在前台就帮忙定位到具体的供应商,这样在调用后台程序时,这列就可以直接用等于来关联了.

MySQL性能优化的最佳20+套经验

- - CSDN博客推荐文章
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显. 关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我 们程序员需要去关注的事情. 当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能. 这里,我们不会讲过 多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库.

高手详解SQL性能优化十条经验

- - SQL - 编程语言 - ITeye博客
尽量避免在一个复杂查询里面使用 LIKE '%parm1%'—— 红色标识位置的百分号会导致相关列的索引无法使用,最好不要用. 其实只需要对该脚本略做改进,查询速度便会提高近百倍. a、修改前台程序——把查询条件的供应商名称一栏由原来的文本输入改为下拉列表,用户模糊输入供应商名称时,直接在前台就帮忙定位到具体的供应商,这样在调用后台程序时,这列就可以直接用等于来关联了.

一些项目管理经验(1)

- - 曉生
要尽早的参与到产品的需求当中,在讨论过程中给出自己的专业建议. 设计是整个团队的一部分,考虑的不只限于我应该做什么,而是可以为整个产品做什么. 设计与产品不可避免会有意见上的冲突,设计抱怨产品策略没有想清楚,强调流程上产品给出明确的文档之后设计再开始参与. 如前期能帮助制定产品策略,会扩大设计的影响力.

MySQL性能优化

- sun - IT程序员面试网
在笔试面试中,尤其是像百度,淘宝这些数据量非常大,而且用LAMP架构的公司,数据库优化方面就显得特别重要了. 此外,除了数据库索引之外,在LAMP结果如此流行的今天,数据库(尤其是MySQL)性能优化也是海量数据处理的一个热点. 下面就结合自己的经验,聊一聊MySQL数据库优化的几个方面. 首先,在数据库设计的时候,要能够充分的利用索引带来的性能提升,至于如何建立索引,建立什么样的索引,在哪些字段上建立索引,上面已经讲的很清楚了,这里不在赘述.

Hebernate 性能优化

- - 企业架构 - ITeye博客
文章分为十三个小块儿对Hibernate性能优化技巧进行总结性分析,分析如下:. 一、在处理大数据量时,会有大量的数据缓冲保存在Session的一级缓存中,这缓存大太时会严重显示性能,所以在使用Hibernate处理大数 据量的,可以使用session. clear()或者session. evict(Object) 在处理过程中,清除全部的缓存或者清除某个对象.