一些心得(持续更新)_.NET_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > .NET > 一些心得(持续更新)

一些心得(持续更新)

 2014/11/8 21:07:23  曹杰  程序员俱乐部  我要评论(0)
  • 摘要:数据库查询:数据库查询对并发处理和事务处理都有很大影响;查询性能越好,随并发量上升导致的性能下降的影响越小;查询性能越好,受其他事务排他锁的影响越小;总之,要解决超时、死锁等问题,优化查询性能,缩短事务时间(最好不用事务)是最根本办法(非原创,引用自网络)用两个例子看清楚分布式和集群的区别:例子1:如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任务需10小时。采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系
  • 标签:

数据库查询:

数据库查询对并发处理和事务处理都有很大影响;

查询性能越好,随并发量上升导致的性能下降的影响越小;

查询性能越好,受其他事务排他锁的影响越小;

总之,要解决超时、死锁等问题,优化查询性能,缩短事务时间(最好不用事务)是最根本办法

 

(非原创,引用自网络)用两个例子看清楚分布式和集群的区别:

例子1:

如果一个任务由10个子任务组成,每个子任务单独执行需1小时,则在一台服务器上执行改任务需10小时。   采用分布式方案,提供10台服务器,每台服务器只负责处理一个子任务,不考虑子任务间的依赖关系,执行完这个任务只需一个小时。(这种工作模式的一个典型代表就是Hadoop的Map/Reduce分布式计算模型)    而采用集群方案,同样提供10台服务器,每台服务器都能独立处理这个任务。假设有10个任务同时到达,10个服务器将同时工作,10小后,10个任务同时完成,这样,整身来看,还是1小时内完成一个任务!

例子2:

一堆机器堆在这儿,具备一定的相同的功能属性,就可以叫集群   分布式的话,应该是具备分布式特性的一类系统

集群的作用:负载均衡,错误恢复

集群式资源整合,分布式是计算能力整合

集群=聚合,分布式=组合

 

减少线程切换:

几乎所有IO操作(包括磁盘和网络)都产生线程切换 Mutex, AutoResetEvent, Sleep等方法会产生线程切换 在应用服务化的时代,网络服务接口常常被当成本地方法使用,当这样的接口被放入循环递归中时,线程切换的时间消耗往往会超过要执行的逻辑本身+网络传输的开销 如何避免: 所有的IO操作用异步模式(这个比较难) 对会产生IO的接口使用特别小心 封装IO接口,适当引入缓存 设计时提供批量和单个接口,减少IO次数 ……   降低嵌套循环: 用hash表,字典,分组等手段优化嵌套,把多层循环变成多次循环(复杂度由高次方变成一次方)   防暴力破解: MD5(x+MD5(y));y.length>=8  
  • 相关文章
发表评论
用户名: 匿名