【大数据技巧】MaxCompute优化去重计算的性能 免费开通大数据服务:https://www.aliyun.com/product/odps 转载自dachuan 随着双十一数据量的暴增,之前用distinct去重可以简单处理的场景,现在消耗的时间成倍增长。如果用了multiple distinct,那就更要警惕,因为多重去重本身会带来数据量的成倍增长,很可能10分钟的任务,在双十一期间会跑上几个小时都没有结果。 这里介绍一个小技巧,其实在稳定性手册里面已经有过介绍,不过总感觉没有看懂。最近正好做了一次优化,于是在这里小结一下: 例如原来的代码是这样: select D1,D2, count(distinctcasewhen A isnot null then B end) asB_distinct_cntfrom xxx group by D1,D2 那么优化方案可以是这样: createt
千金药方——MongoDB疑难杂症的分析和优化 Driver 使用问题 慎用local、admin: • local:存储节点自身配置信息,数据不会被同步,重要的数据不要存储在 local 数据库,避免数据丢失 • admin:存储⽤用户、⻆⾊等管理信息,写⼊时会加 DB 级别互斥写锁,业务数据不要存储在 admin 数据库,影响性能 合理配置连接数: thread per connection 网络服务模型,每个线程需要1MB 的栈空间,⼤量连接时,线程切换开销大;限制连接数资源; mongod 配置 net.maxIncomingConnections 参数,Driver通过 Connection String URI 的 maxPoolSize 参数来配置连接池⼤大⼩小 避免使用短连接: 短连接增加额外的 connect、auth、close、线程创建及销毁开销, MongoDB 鉴权性能问题,优化后性能提示10+倍 干掉长(慢)请求 • 客户端发起耗时请求,如遍历集合、建索引、mapreduce、aggregation 等,主动断开连接后,后端的请求仍然在执行 • currentOp + killOp 中止后端正在运行...