MySQL性能优化详解

MySQL数据库性能优化是本文的主要核心,将从数据库的优化设计,到具体的操作。好的优化能使服务器性能提升较大的空间,希望本文对大家有所帮助。

1. MySQL性能优化简介

在Web应用程序体系架构中,数据持久层(通常是一个关系数据库)是关键的核心部分,它对系统的性能有非常重要的影响。MySQL是目前使用最多的开源数据库,但是MySQL数据库的默认设置性能非常的差,仅仅是一个玩具数据库。因此在产品中使用MySQL数据库必须进行必要的优化。

优化是一个复杂的任务,本文描述MySQL相关的数据库设计和查询优化,服务器端优化,存储引擎优化。

2. 数据库设计和查询优化

在MySQL性能优化中,首先要考虑的就是Database Schema设计,这一点是非常重要的。一个糟糕的Schema设计即使在性能调优的MySQL Server上运行,也会表现出很差的性能;和Schema相似,查询语句的设计也会影响MySQL的性能,应该避免写出低效的SQL查询。这一节将详细讨论这两方面的优化。

2.1 Schema Design Continue reading

apache squid 配置反向代理服务相关文章

  • apache + squid 配置反向代理服务环境 :ubuntu 9.04(linux 2.6.28-15-generic) apache版本:Apache/2.2.11 squid版本:Squid3.0/STABLE8 本机IP :192.168.1.102并在/etc/hosts里添加www.abc.com的伪域名以便测试 安装方式 :apt-get安装(源码安装同) 配置文件: apache:(/etc/apach…
  • Linux下Squid3.0反向代理的安装与配置1. Squid3.0的安装是很简单的: ./configure –prefix=/usr/local/squid make make install chown -R nobody.nobody /usr/local/squid/var/ /usr/local/squid/sbin/squid -z Squid3.0的配置也不复杂: 假设我们有两台Apache服务器需要反向代理:www.avnads.c…
  • squid3.0快速缓存实现一、编译安装 #tar zxvf squid-3.0.STABLE11.tar.gz //稳定版 #cd squid-3.0.STABLE11 #./configure –prefix=/usr/local/squid \ –enable-arp-acl \ –enable-linux-netfilter \ –enable-pthreads \ –enable-err-language=Simplify_Chinese \ –enable-d… Continue reading

PuTTY中文乱码的解决办法

打开putty,选择 Category中的Windows--->Appearance---> Font settings
把”字体”改为”Fixedsys”(或者其他中文字体),字符集为CHINEASE_GB2312

怎么还是乱码?

如果还是乱码的话,就执行以下命令,看看系统的字符集
echo $LANG $LANGUAGE

哦,原来系统的字符集是 UTF-8 呀。重新返回上面选择字符集的那一步, 选择配置窗口左边的 Translation,在右边的 Received data assumed to be in which character set 下拉列表中选择“UTF-8” Continue reading

Squid for Windows 安装简介-最新版本

大家也许不知道,Squid有一个for Windows的版本,下载地址为: http://www.acmeconsulting.it/pagine/opensource/squid/SquidNT.htm

先来说一下Squid for Windows的安装,需求:你要拥有一台可联网的、运行着Windows NT/2000/XP/Server 2003的计算机,还要有Squid

for windows的软件包。从网上下载的Squid for windows的二进制文件是压缩到zip文件里的,首先来解压缩这个文件,加压后会生成一个Squid的文件夹,将此文件夹拷贝到C:,至此Squid for Windows算是被“安装”到你的Windows计算机了。(备注:Squid for windows的默认安装是在C:squid下,当然,可以把Squid放到其他的路径,但是需要大量的配置squid配置文件中的路径信息,那样会比较 麻烦) Continue reading

win下的ps -aux | grep xxx

win上的tasklist.exe,可惜只有XP以上才有

tasklist | findstr /I xxx

TASKLIST [/S system [/U username [/P [password]]]]
[/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH]

描述:
该工具显示在本地或远程机器上当前运行的进程列表。

参数列表:
/S   system       指定连接到的远程系统。

/U   [domain\\]user   指定应该在哪个用户上下文执行这个命令。

/P   [password]     为提供的用户上下文指定密码。如果忽略,提示
输入。 Continue reading

基于Web的IM概览

基于 WEB 的实时事件通知方式大致有五种方案:HTTP拉取方式(pull),HTTP流,Long Polling,Flash XMLSocket方式,Java Applet。
首先说下Comet这个词,Comet 这个词是最早由Alex Russell(Dojo Toolkit 的项目 Lead)提出的,称基于 HTTP 长连接、无须在浏览器端安装插件的“服务器推(Push)”技术为“Comet”。
1.HTTP拉取方式(pull)
在这种传统的方法中,客户端以用户可定义的时间间隔去检查服务器上的最新数据。这种拉取方式的频率要足够高才能保证很高的数据精确度,但高频率可能会导致多余的检查,从而导致较高的网络流量。而另一方面,低频率则会导致错过更新的数据。理想地,拉取的时间间隔应该等于服务器状态改变的速度。常见的实现如利用 “<meta http-equiv=”refresh” c />” tag,当然利用xmlHttpRequest定时取也是一种方法。
2.HTTP流(Push机制) Continue reading

从零开始,安装运行Pushlets所需的Servlet相关环境

最近在研究基于WEB的聊天程序,了解了长连接相关技术,从网上看了很多文章,但多数是英文的,这让我很头疼。我准备自己动手测试一下网上的开源comet框架,最后我选择的是pushlet,先将我的一些操作步骤写下来和大家一起分享。

我先去pushlet官方网站下载了相关代码,我选择的是5-feb-2010: v2.0.4 released版本的(下载地址:http://sourceforge.net/projects/pushlets/files/)。下载了后我解压打开相关文件,里面只有几个文件夹和文件,找了一下,DOC文件夹里面有说明文档,打开index.html,是英文的。按照左侧导航大概浏览一下,最后跳到install上面,硬着头皮打开浏览一下,大概意思是需要Servlet引擎环境。于是开始在Google上面找相关的文章。看了一下大概意思明白,就是需要安装Tomcat。 Continue reading

Comet—“服务器推”技术

一、名称解释:

Comet最早是由Alex Russell(Dojo Toolkit 项目主管和Dojo Foundation主席)在自己的博客中提出的术语,他是这样说的:”New services like Jot Live and Meebo are built with a style of data transmission that is neither traditional nor Ajax. Their brand of low-latency data transfer to the browser is unique, and it is becoming ever-more common. Lacking a better term, I’ve taken to calling this style of event-driven, server-push data streaming “Comet”.” “They all use long-lived HTTP connections to reduce the latency with which messages are passed to the server. In essence, they do not poll the server occasionally. Instead the server has an open line of communication with which it can push data to the client.”

Comet指的是一种Web应用程序架构。可以直接说,它不是一种技术,而是一种思想,只是这种思想采用了已有的技术去实现。在这种思想里,客户端(Client)不需要显式地向服务器端(Server)发出请求,Server会在其数据发生变化的时候主动将数据异步发送给Client,从而使Client能够及时更新数据并呈现给用户。它不同于传统的Web,也不同于当前流行的Ajax,这种思想非常架构思想非常适合event-driven(事件驱动)式的Web应用和对交互性及实时性要求很强的应用,比如股票交易,聊天室,Web IM,网游等。 Continue reading

centos 5.4 下面安装mongodb服务端和php客户端扩展…

一、安装服务端

1.下载MongoDB

http://www.mongodb.org/downloads

我下载的是1.6的版本

2.解压并把解压包bin目录中的文件全部移到/usr/local/bin目录下面

3.运行mongo的服务器端程序

/usr/local/bin/mongod –port <端口> –bind_ip <本机IP> –dbpath <数据库文件存放的位置>

如果要求开机就启动就在

/usr/local/etc/rc.local中加入下面一行内容

usr/local/bin/mongod –port <端口> –bind_ip <本机IP> –dbpath <数据库文件存放的位置> >/dev/null &

4.测试安装是否成功

运行指令

#/usr/local/bin/mongo –port 4312 –host 127.0.0.1

显示

MongoDB shell version: 1.6.0

connecting to: 127.0.0.1:4312/test Continue reading