Category: Java Architecture

[转]亿级PV,常见性能优化策略总结与真实案例 0

[转]亿级PV,常见性能优化策略总结与真实案例

1. 0 题记 美团网是国内最大的O2O服务平台,虽然经常面临高并发、大流量等问题,但在用户体验优化上美团APP仍被众多IT同行所推崇,他们在性能优化方面积累的宝贵经验尤其值得我们学习。通过本文的分享,作者晓明力求达到如下效果: 1. 形成可实践、可借鉴、可参考的各种性能优化的方案以及选型考虑点,同时配合具体的真实案例,其他人遇到相似问题时,不用从零开始。 2. 有助于开阔视野,除了性能优化之外,也能提供通用的常见思路以及方案选型的考虑点,帮助大家培养在方案选型时的意识、思维以及做各种权衡的能力。

[转]消除单点 0

[转]消除单点

1. 系统架构中,为什么会存在单点? (1)存在设计缺陷,出现了单点; (2)能大大简化系统设计,有意为之,设置单点;   典型互联网高可用架构,哪些地方可能存在潜在单点? 典型互联网高可用架构: (1)端,通过DNS,由域名拿到nginx的外网IP; (2)反向代理,nginx是后端入口; (3)站点应用,典型的是tomcat或者apache; (4)服务,典型的是dubbo提供RPC服务调用; (5)数据层,典型的是读写分离的db架构;

0

[转]美团开源实时监控系统CAT

1. CAT 项目背景 CAT(Central Application Tracking),是美团点评基于 Java 开发的一套开源的分布式实时监控系统。美团点评基础架构部希望在基础存储、高性能通信、大规模在线访问、服务治理、实时监控、容器化及集群智能调度等领域提供业界领先的、统一的解决方案,CAT 目前在美团点评的产品定位是应用层的统一监控组件,在中间件(RPC、数据库、缓存、MQ 等)框架中得到广泛应用,为各业务线提供系统的性能指标、健康状况、实时告警等服务。 本文会对 CAT 的客户端、性能等做详细深入的介绍,更多技术细节,欢迎阅读《深度剖析开源分布式监控 CAT》。

[转]jvm堆内存溢出后,其他线程是否可继续工作 0

[转]jvm堆内存溢出后,其他线程是否可继续工作

背景 最近网上出现一个美团面试题:“一个线程OOM后,其他线程还能运行吗?”。我看网上出现了很多不靠谱的答案。这道题其实很有难度,涉及的知识点有jvm内存分配、作用域、gc等,不是简单的是与否的问题。 由于题目中给出的OOM,java中OOM又分很多类型;比如:堆溢出(“java.lang.OutOfMemoryError: Java heap space”)、永久带溢出(“java.lang.OutOfMemoryError:Permgen space”)、不能创建线程(“java.lang.OutOfMemoryError:Unable to create new native thread”)等很多种情况。 本文主要是分析堆溢出对应用带来的影响。

[转]Linux性能监控和调试 0

[转]Linux性能监控和调试

1. 0 题记 对于每个互联网研发人员来说,每天要监控和调试 Linux 系统性能问题都是非常困难的工作。 为此,我们总结了非常有用的并且最常用的20个命令行系统监视工具。这些命令可以在所有版本的 Linux 下使用去监控和查找系统性能的实际原因。这些监控命令足够你选择适合你的监控场景。

图 .Linux 性能观测工具 0

[转]Java 应用性能调优实践

Java 应用性能优化是一个老生常谈的话题,典型的性能问题如页面响应慢、接口超时,服务器负载高、并发数低,数据库频繁死锁等。尤其是在“糙快猛”的互联网开发模式大行其道的今天,随着系统访问量的日益增加和代码的臃肿,各种性能问题开始纷至沓来。Java 应用性能的瓶颈点非常多,比如磁盘、内存、网络 I/O 等系统因素,Java 应用代码,JVM GC,数据库,缓存等。笔者根据个人经验,将 Java 性能优化分为 4 个层级:应用层、数据库层、框架层、JVM 层,如图 1 所示。

[转]性能优化指南 0

[转]性能优化指南

1. 0 题记 作为一个程序员,性能优化是常有的事情,不管是桌面应用还是web应用,不管是前端还是后端,不管是单点应用还是分布式系统。本文从以下几个方面来思考这个问题:性能优化的一般性原则,性能优化的层次,性能优化的通用方法。本文不限于任何语言、框架,不过可能会用Python语言来举例。 不过囿于个人经验,可能更多的是从Linux服务端的角度来思考这些问题。 2.

0

[转]大型网站压力测试及优化方案

1. 0 木桶理论应用在系统优化中 木桶理论又称短板理论,其核心思想是一只木桶盛水多少,并不取决于最高的木板,而取决于最短的那块木板。 木桶原理应用在系统分析中,即系统的最终性能取决于系统中性能表现最差的组件,为了提升系统整体性能,对系统中表现最差的组件进行优化可以得到最好的效果。