- 博客(29)
- 资源 (11)
- 收藏
- 关注
转载 运维角度浅谈MySQL数据库优化
一个成熟的数据库架构并不是一开始设计就具备高可用、高伸缩等特性的,它是随着用户量的增加,基础架构才逐渐完善。这篇博文主要谈MySQL数据库发展周期中所面临的问题及优化方案,暂且抛开前端应用不说,大致分为以下五个阶段:1、数据库表设计 项目立项后,开发部根据产品部需求开发项目,开发工程师工作其中一部分就是对表结构设计。对于数据库来说,这点很重要,如果设计不当,会直接影响访问速度和用
2017-10-26 17:42:34 358
原创 mysql数据库优化之系统配置优化及硬件优化
系统的优化分操作系统和mysql服务器数据库是基于操作系统的,目前大多数mysql都是安装在linux系统上,所以对于操作系统的一些参数配置也会有影响到mysql的性能,下面就是列出一些常用的系统配置。网络方面的配置,要修改/etc/sysctl.conf文件增加tcp支持的队列数net.ipv4.tcp_max_syn_backlog=65535减少断开连接时,资源回收,加快
2017-10-24 20:48:51 2951
原创 mysql数据库优化之数据库结构优化
数据库结构 优化选择合适的数据类型数据类型的选择,重点在于合适,如何确定选择的数据类型是否合适1、使用可以存下你的数据的最小的数据类型2、使用简单的数据类型,int要比varchar类型在mysql处理上简单3、尽可能的使用not null定义字段4、尽量少使用text类型,费用不可时最好考虑分表。ip地址的存储,利用inet_aton(), inet_ntoa() 两...
2017-10-24 19:58:35 339
原创 总结
造数据的方式:1、用jdbc连接数据库,写代码造数据,可单线程和多线程;2、写存储过程,用客户端navicat 在数据库表里写sql语句;3、用工具jmeter 请求接口造数据;4、用httpclient 写代码发送请求数据,造数据;
2017-10-23 11:30:11 416
转载 Java调优经验谈
目录调优准备性能分析性能调优其他优化建议JVM参数进阶对于调优这个事情来说,一般就是三个过程:性能监控:问题没有发生,你并不知道你需要调优什么。此时需要一些系统、应用的监控工具来发现问题。性能分析:问题已经发生,但是你并不知道问题到底出在哪里。此时就需要使用工具、经验对系统、应用进行瓶颈分析,以求定位到问题原因。性能调优:经过上一步的分析定位到了问题所在,需要对问题进行解决
2017-10-18 20:36:16 482
转载 Tomcat性能优化
摘要: Java性能优化原则:代码运算性能、内存回收、应用配置(影响Java程序主要原因是垃圾回收) 代码层优化:避免过多循环嵌套、调用和复杂逻辑 调优内容: 1、增加最大连接数 2、调整工作模式 3、启用gzip压缩 4、调整JVM内存大小 5、作为Web服务器时,与Apache整合或Nginx 6、...Java性能优化原则:代码运算性能、内存回收、应用配置(影响Jav
2017-10-18 13:05:40 232
转载 JVM性能调优
最近因项目存在内存泄漏,故进行大规模的JVM性能调优 , 现把经验做一记录。一、JVM内存模型及垃圾收集算法 1.根据Java虚拟机规范,JVM将内存划分为:New(年轻代)Tenured(年老代)永久代(Perm) 其中New和Tenured属于堆内存,堆内存会从JVM启动参数(-Xmx:3G)指定的内存中分配,Perm不属于堆内存,有虚拟机直接分配,但可以通过
2017-10-18 13:04:41 218
转载 JVM性能调优入门
Java程序员进阶三条必经之路:数据库、虚拟机、异步通信。前言入门JVM垃圾回收机制后,接下来可以学习性能调优了。主要有两部分内容:JDK工具的使用。调优策略。兵器谱jps列出正在运行的虚拟机进程,用法如下:jps [-option] [hostid]选项作用q只输出LVMID,省略主类的名称m输出main method的参数l输出完全的包名,应用主类名,jar的完全
2017-10-18 12:59:06 251
转载 性能调优攻略
关于性能优化这是一个比较大的话题,在《由12306.cn谈谈网站性能技术》中我从业务和设计上说过一些可用的技术以及那些技术的优缺点,今天,想从一些技术细节上谈谈性能优化,主要是一些代码级别的技术和方法。本文的东西是我的一些经验和知识,并不一定全对,希望大家指正和补充。在开始这篇文章之前,大家可以移步去看一下酷壳以前发表的《代码优化概要》,这篇文章基本上告诉你——要进行优化,先得找到性能瓶颈
2017-10-18 12:57:08 2832
转载 性能优化的思路和步骤
https://download.csdn.net/download/qq_30353203/10616634,这是一个JVM体系结构与GC调优PPT,写的非常好。我的技术公众号,有兴趣可以关注一起交流写blog和写代码一样,刚开始都是不完美的,需要不断的修正和重构,如果大家在阅读本blog中发现任何问题和疑问,都欢迎讨论或拍砖。1 性能调优简介1.1为什么要进行性能调优?...
2017-10-18 12:53:44 23054 4
转载 Java 应用性能调优实践
Java 应用性能优化是一个老生常谈的话题,典型的性能问题如页面响应慢、接口超时,服务器负载高、并发数低,数据库频繁死锁等。尤其是在“糙快猛”的互联网开发模式大行其道的今天,随着系统访问量的日益增加和代码的臃肿,各种性能问题开始纷至沓来。Java 应用性能的瓶颈点非常多,比如磁盘、内存、网络 I/O 等系统因素,Java 应用代码,JVM GC,数据库,缓存等。笔者根据个人经验,将 Java 性能
2017-10-18 12:49:59 347
转载 jvm参数调优
1、JVM的调优主要是内存的调优,主要调两个方面:各个代的大小垃圾收集器选择2、各个代的大小常用的调节参数-Xmx-Xms-Xmn-XX:SurvivorRatio-XX:MaxTenuringThreshold-XX:PermSize-XX:MaxPermSize原则-Xmx==-Xms:防止堆内存频繁进行调整,调整的时机见《第一章 JVM内存结构》-
2017-10-18 12:46:04 364 1
转载 JVM性能调优监控工具jps、jstack、jmap、jhat、jstat、hprof使用详解
摘要: JDK本身提供了很多方便的JVM性能调优监控工具,除了集成式的VisualVM和jConsole外,还有jps、jstack、jmap、jhat、jstat、hprof等小巧的工具,本博客希望能起抛砖引玉之用,让大家能开始对JVM性能调优的常用工具有所了解。 现实企业级Java开发中,有时候我们会碰到下面这些问题:OutOfMemoryError,内存不足内存泄
2017-10-18 12:42:40 183
转载 关于JVM CPU资源占用过高的问题排查
摘要: 总结下最近工作中问题排查方法,问题是jvm cpu占用过高一、背景: 先执行一个java程序里面开了两个线程分别都在while循环做打印操作。 # java -cp ./test-threads.jar com.spiro.Main二、现象: 通过top命令查看当前CPU情况 可以看到有个java进程占用C
2017-10-18 12:40:13 2833
转载 linux下性能监控命令
3. 性能优化目录性能优化分析系统瓶颈分析内存瓶颈分析IO瓶颈分析进程调用优化程序代码gprof使用步骤其它工具性能优化的核心是找出系统的瓶颈点,问题找到了,优化的工作也就完成了大半; 这里介绍的性能优化主要从两个层面来介绍:系统层面和程序层面;3.1. 分析系统瓶颈系统响应变慢,首先得定位大致的问题出在哪里,是IO瓶颈、CP
2017-10-18 12:38:58 200
转载 Java JVM 性能调优笔记
Java性能调优笔记调优步骤:衡量系统现状、设定调优目标、寻找性能瓶颈、性能调优、衡量是否到达目标(如果未到达目标,需重新寻找性能瓶颈)、性能调优结束。寻找性能瓶颈性能瓶颈的表象:资源消耗过多、外部处理系统的性能不足、资源消耗不多但程序的响应速度却仍达不到要求。资源消耗:CPU、文件IO、网络IO、内存。外部处理系统的性能不足:所调用的其他系统提供的功能或数据库操作的响
2017-10-18 12:35:44 204
转载 如何做性能测试
性能优化的常见概念吞吐量(TPS, QPS):简单来说就是每秒钟完成的事务数或者查询数。通常吞吐量大表明系统单位时间能处理的请求数越多,所以通常希望TPS越高越好响应时间:即从请求发出去到收到系统返回的时间。响应时间一般不取平均值,而是要去掉不稳定的值之后再取均值,比如常用的90%响应时间,指的就是去掉了10%不稳定的响应时间之后,剩下90%的稳定的响应时间的均值。从聚类的观点
2017-10-18 12:30:59 329
原创 mysql查询优化
set gobal 修改正在运行的mysql通常改为0.001秒也就是1毫秒可能比较合适,防止日志过多沾满磁盘空间,log_queries_not_using_indexes是否记录未使用索引的sql
2017-10-17 21:56:33 242
原创 数据库索引优化
索引的作用是告诉存储引擎快速找到我们需要的数据,两个极端,除了主键没有任何索引,给每一个列都建立一个索引,所以索引是在mysql存储引起高层实现的,而不是在mysql服务器层实现的,mysql支持的索引类型,B-tree索引的特点,B-tree以B+树的结构存储数据,B-tree索引能够加快数据的查询速度,B-tree适合顺序查找,
2017-10-17 16:17:55 351
原创 Mysql架构MMM,MHA
如何避免mysql单点故障利用mysql主从复制来解决mysql单点故障如何解决主服务器的单点问题主服务器切换后,如何通知应用新的主服务器的ip地址如何检查mysql主服务器是否可用如何处理从服务器和新主服务器之间的那种复制关系解决这些问题使用第三方管理组件一种是mmm (Multi-Master Replicatin Manager),它是perl语言开发的一套用于管理m
2017-10-16 20:16:18 5732
原创 mysql复制功能介绍
mysql 的复制是基于主库的二进制日志,在从库上重放这些日志方式来完成的,所以mysql复制方式是异步的,这就意味着同一时间点上,备库上的数据与主库上存在不一致的地方,并且无法保证主库与备库之间的延迟。复制解决了什么问题实现了在不同服务器上的数据分布利用二进制日志增量进行不需要太多的带宽 但是使用基于行的复制在进行大批量的更改时,会对带宽带来一定的压力特别是跨IDC环境
2017-10-14 17:10:32 385
原创 Mysql数据库表结构优化
前面介绍了服务器硬件、操作系统、msyql服务器配置,对数据库的影响,其实最重要的是数据库表结构对数据库的影响,良好的数据库逻辑设计和物理设计是数据库获取高性能的基础,数据库结构优化的目的:1、减少数据冗余,数据冗余是指相同的数据在多个地方存在,表中的某个列可以在其他某个列中获取到,2、尽量避免数据维护中出现更新、插入和删除异常,插入异常指的是,3、节约数据库存储空间。数据库结构设计的
2017-10-13 16:00:23 6689
原创 Mysql基准测试mysqlslap、sysbench
什么是基准测试定义:基准测试是一种测量和评估软件性能指标的活动用于建立某个时刻的性能基准,以便当系统发生软硬件变化时重新进行基准测试以评估变化对性能的影响。理解为基准测试是针对系统设置的一种压力测试,基准测试与压力测试还是有区别的,基准测试,是直接、简单、易于比较,用于评估服务器的处理能力,测试数据是由工具生成的,压力测试对真实的业务数据进行测试,获得真实系统所承受的压力,基准测试是一种简
2017-10-12 17:15:23 876
原创 linux操作数据库命令
mysql -u dataname -p mysql其他命令:show databases; 显示数据库create database name; 创建数据库use databasename; 选择数据库drop database name 直接删除数据库,不提醒show tables; 显示表describe tablename; 显示具体的表结构select
2017-10-11 14:04:04 1235
原创 mysql本身对性能影响的因素存储引擎、数据库配置、数据库表结构及sql语句
mysql与众不同的就是这种插件式存储引擎了,这种架构将数据库查询处理及其他系统的任务以及数据的存储,提取相分离,这种数据存储和数据处理相分离的设计呢,可以让我们在使用时,根据存储引擎不同的性能和特征以及其他需要来选择数据存储的方式。首先要清楚mysql的体系结构,第一层 客户端, 这一层代表可以连接到mysql服务器的客户端,例如 php java api Odbc jdbc ,跟大部分cs架
2017-10-10 22:15:27 684
原创 文件系统对性能的影响
windows 有FAT NTFS Llinux 有EXT3 EXT4 XFS, EXT3系统的挂载参数(/etc/fstab)中进行设置,data参数,data=wtiteback | ordered | journal 这三个参数代表不同的日志策略,其中writeback 意味着只有原数据写入日志,原数据写入和数据写入并不是同步的,这是最快的一种配置,因为Innodb有自
2017-10-10 21:43:52 1225
原创 影响mysql性能因素硬件、操作系统
从大的几个方面来看一下,首先是数据库服务器的硬件,cpu 内存 磁盘io ,其次服务器所用的操作系统,第三个方面是数据库的存储引擎,比如myisam 不支持事务的,同时使用的是表级锁,而innodb ,是事物级存储引擎,完美的支持行级锁,事务ACID特性。第四个方面是,数据库参数配置,mysql有上百项的参数配置,第五方面就是数据库表结构设计和SQL语句,数据库优化的重点,就是
2017-10-03 09:26:48 1311
原创 哪些因素会对mysql数据库服务器性能造成影响
web服务器 和数据库服务器都会造成很大的压力,对于web服务器我们可以很容易进行横向扩展,说白了,就是增加一些一样的服务器,然后在服务器上就可以部署我们的web服务,只要服务部署的程序是一样,那么每台web服务器提供的内容就是一样的,但是数据库服务器,不能随意的拷贝复制,因为数据库中的数据都是具有完成性和一致性,数据库的扩展才是最重要的,数据库架构,所有的数据库,都是存在于一组服务器上,这组服
2017-10-01 08:58:27 2761
chromedriver.exe V2.3
2017-09-11
深入理解java虚拟机
2017-03-31
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人