LAMP服务器性能优化技巧之Mysql优化

运维 系统运维
LAMP服务器性能优化技巧之Mysql优化:由于LAMP的发展迅速,如今LAMP已经成为Web服务器的标准。如何才能优化LAMP服务器的性能?本文分为几个步骤讲述了Linux主机的性能优化、Apache服务器检测和优化、加速PHP、Mysql优化。LAMP服务器性能优化技巧之Mysql优化。

目前LAMP (Linux + Apache + MySQL + PHP) 近几年来发展迅速,已经成为Web 服务器的事实标准。本文我们将介绍基于LAMP组合的服务器的性能优化技巧:Mysql优化。

  对于程序开发人员而言,目前使用***的两种后台数据库即为MySQL and SQL Server。这两者最基本的相似之处在于数据存储和属于查询系统。如果你想建立一个.NET服务器体系,这一体系可以从多个不同平台访问数据,参与数据库的管理,那么你可以选用SQL Server服务器。如果你想建立一个第三方动态网站,从这一站点可以从一些客户端读取数据,那么MySQL将是一个不错的选择。

  1、编译和安装MySQL

  通过你的系统挑选可能***的编译器,你通常可以获得10-30%的性能提高。在Linux/Intel平台上,用pgcc(gcc的奔腾芯片优化版)编译MySQL。然而,二进制代码将只能运行在Intel奔腾CPU上。 对于一种特定的平台,使用MySQL参考手册上推荐的优化选项。用你将使用的字符集编译MySQL。 静态编译生成mysqld的执行文件(用--with-mysqld-ldflags=all-static)并用strip sql/mysqld整理最终的执行文件。 注意,既然MySQL不使用C++扩展,不带扩展支持编译MySQL将赢得巨大的性能提高。

  2、优化表

  MySQL拥有一套丰富的类型。应该对每一列尝试使用最有效的类型。ANALYSE过程可以帮助你找到表的***类型:SELECT * FROM table_name PROCEDURE ANALYSE()。对于不保存NULL值的列使用NOT NULL,这对你想索引的列尤其重要。 将ISAM类型的表改为MyISAM。用固定的表格式创建表。

  3、正确使用索引

  索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从***个记录开始扫描整个表的所有记录,直至找到符合要求的记录。如果表有1000个记录,通过索引查找记录至少要比顺序扫描记录快100倍。

  假设我们创建了一个名为people的表:

  1.   CREATE TABLE people ( peopleid SMALLINT NOT NULLname CHAR(50) NOT NULL );  
  2.  

  然后,我们完全随机把1000个不同name值插入到people表。

  但是索引也是有缺点的,首先,索引要占用磁盘空间。通常情况下,这个问题不是很突出。但是,如果你创建每一种可能列组合的索引,索引文件体积的增长速度将远远超过数据文件。如果你有一个很大的表,索引文件的大小可能达到操作系统允许的***文件限制。如果MySQL能估计出它将可能比扫描整张表还要快时,则不使用索引。另外,对于需要写入数据的操作,比如DELETE、UPDATE操作,索引会降低它们的速度。这是因为MySQL不仅要把改动数据写入数据文件,而且它还要把这些改动写入索引文件。

  4、 减少使用字符集编译MySQL

  MySQL目前提供多达24种不同的字符集(许多语言版本),为全球用户以他们自己的语言插入或查看表中的数据。缺省情况下,MySQL安装所有者这些字符集,所以***的选择是安装一两种你需要的就可以了(中文、英文)。

  总结:本文介绍了如何在现有硬件条件下提高系统性能,网络管理员充分了解自己的计算机和网络,从而找到真正的瓶颈所在。在预算短缺的今天,理解如何优化系统性能比以往任何时候都重要。一味地硬件投资并不是能够让人们接受的办法,而且还也不一定生效。

  以上就是LAMP服务器性能优化技巧,文章到此结束。您的LAMP服务器优化好没呢?

【编辑推荐】

Ubuntu下LAMP的配置

LAMP的优化技巧

CentOS下安装LAMP的方法

责任编辑:zhaolei 来源: 计世网
相关推荐

2011-03-11 15:52:59

LAMP优化

2011-03-11 15:52:57

LAMP优化

2011-03-11 15:53:00

LAMP优化

2021-11-29 11:13:45

服务器网络性能

2022-02-16 14:10:51

服务器性能优化Linux

2011-03-14 13:51:21

LAMPMySQL

2022-09-26 09:19:38

服务器优化

2022-05-05 09:27:31

Linux服务器优化

2024-05-08 16:47:24

PostgreSQL数据库

2012-09-04 13:56:48

LinuxMySQL优化

2011-03-09 10:55:33

LAMP优化技巧

2011-03-10 10:09:33

LAMP优化

2011-11-22 14:00:45

服务器技巧活动目录组策略

2009-08-11 08:38:15

Linux服务器硬盘性能实用技巧

2011-07-11 15:26:49

性能优化算法

2011-06-14 11:14:10

性能优化代码

2013-07-23 09:51:32

Tomcat性能优化服务器性能优化

2011-06-14 14:17:23

性能优化系统层次

2011-08-01 10:49:12

服务器

2023-07-04 07:19:17

物理服务器网络
点赞
收藏

51CTO技术栈公众号