服务器数据库系列
老码农zhuli
自娱自乐的代码人!GIT:https://github.com/zhuli
展开
-
服务器数据库系列 - tomcat常用配置
1启动内存参数的配置 tomcat/bin/catalina.bat 如果是linux 就是 catalina.sh 在rem 的后面增加如下参数 set JAVA_OPTS= -Xms256m -Xmx256m -XX:MaxPermSize=64m 2 修改Tomcat的JDK目录 打开tomcat/bin/catalina.bat 在最后一个rem后面增加转载 2014-02-27 16:51:10 · 1411 阅读 · 0 评论 -
服务器数据库系列 - Redis几个认识误区
前几天微博发生了一起大的系统故障,很多技术的朋友都比较关心,其中的原因不会超出James Hamilton在On Designing and Deploying Internet-Scale Service(1)概括的那几个范围,James第一条经验“Design for failure”是所有互联网架构成功的一个关键。互联网系统的工程理论其实非常简单,James paper中内容几乎称不上理论,转载 2012-07-05 11:22:06 · 897 阅读 · 0 评论 -
服务器数据库系列 - Nginx 负载均衡配置
http{ upstream www.test2.com { server 10.1.165.36:80 weight = 3; server 10.249.198.235; server 10.1.168.1 down; server 10.1.168.2 backup; #ip_原创 2012-07-02 14:32:31 · 1132 阅读 · 0 评论 -
服务器数据库系列 - Nginx基础配置说明
user nfsnobody nfsnobody; #使用的用户和组worker_processes 8; #指定工作衍生进程数error_log /usr/local/web/nginx.0.8.15/nginx_error.log crit; #日志记录的文件地址pid /usr/local/web/nginx.0.8.15/nginx.pid; #进行PID存放的路劲wor原创 2012-06-20 15:55:18 · 1427 阅读 · 0 评论 -
服务器数据库系列 - NoSQL架构实践
NoSQL架构实践(一)——以NoSQL为辅-zt怎么样把NoSQL引入到我们的系统架构设计中,需要根据我们系统的业务场景来分析,什么样类型的数据适合存储在NoSQL数据库中,什么样类型的数据必须使用关系数据库存储。明确引入的NoSQL数据库带给系统的作用,它能解决什么问题,以及可能带来的新的问题。下面我们分析几种常见的NoSQL架构。(一)NoSQL作为镜像不改变原有的以MySQL作转载 2013-04-01 09:14:36 · 1813 阅读 · 0 评论 -
服务器数据库系列 - sphinx配置
sphinx是以sphinx.conf为配置文件,索引与搜索均以这个文件为依据进行,要进行全文检索,首先就要配置好sphinx.conf,告诉sphinx哪些字段需要进行索引,哪些字段需要在where,orderby,groupby中用到。安装完Sphinx后,在D:/sphinx目录有一个sphinx.conf.in,这个相当于sphinx的配置例子文件,我们以这个文件为蓝本,重新创建一转载 2012-10-30 16:52:53 · 1103 阅读 · 0 评论 -
服务器数据库系列 - HashDB设计简介
1、HashDB是什么?HashDB是一个简单的KeyValue存储系统原型,提供基本的二元组的数据存储与读取功能,亦即当前被广为推崇的NoSQL存储系统。最初想到设计这个小系统,完全是出于偶然。本人维护着一个轻量级的开源重复数据删除小工具deduputil,它基于块级对文件目录进行数据去重并进行打包,支持定长和变长数据分块算法,并支持数据块压缩。deduputil使用hash数据指纹来区分和转载 2012-10-11 19:44:21 · 997 阅读 · 0 评论 -
服务器数据库系列 - Nginx 虚拟机设置
配置:http { server { listen 80; server_name www.domain1.com; access_log logs/domain1.access.log main; location / { index index.html; root /var/www/domain1.com/htdocs原创 2012-06-20 17:20:45 · 1203 阅读 · 0 评论 -
服务器数据库系列 - Nginx HTTPS配置
同事测试一ssl加密接口,但是负责该接口的同事有事请假了没在,所以我就临时给配置了一个https服务,写了一个简单接口供同事使用,配置nginx的https记录一下:一、生成私钥和证书创建带密钥口令的私钥root@mysqlmaster:/tmp# openssl genrsa -des3 -out ng.key 1024Generating RSA private key, 10转载 2014-05-19 17:46:21 · 1350 阅读 · 0 评论 -
服务器数据库系列 - tomcat OutOfMemoryError: PermGen space
PermGen space PermGen space的全称是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决方法也一定是加大内存。说说为什么会内存益出:这一部分用于存放Class和Meta的信息,Class在被 Load的时候被放入PermGen space区域,它和和存放I转载 2013-07-18 18:50:11 · 991 阅读 · 0 评论 -
服务器数据库系列 - Nginx源码分析-内存池
Nginx源码分析-内存池Nginx的内存池实现得很精巧,代码也很简洁。总的来说,所有的内存池基本都一个宗旨:申请大块内存,避免“细水长流”。一、创建一个内存池nginx内存池主要有下面两个结构来维护,他们分别维护了内存池的头部和数据部。此处数据部就是供用户分配小块内存的地方。//该结构用来维护内存池的数据块,供用户分配之用。typedef struct {u_char转载 2012-10-16 12:52:05 · 866 阅读 · 0 评论 -
服务器数据库系列 - MYSQL优化20条经验
今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优化,而只是针对MySQL这一Web应用最多的数据库。希望下面的这些优化技巧对你有用。1. 为查询转载 2012-08-06 16:59:09 · 2361 阅读 · 0 评论 -
服务器数据库系列 - Web server调研分析
来源:http://stblog.baidu-tech.com/?p=755 摘要 简单可依赖的架构首先需要有一个简单可依赖的前端WebServer集群。本文通过深入调研当前主流的异步web服务器Lighttpd和Nginx,从业界使用情况、架构原理、扩展开发、功能对比、性能对比等多个方面进行分析。调研分析业界相关从业界使用情况来看,最新Web Server使用情况的数据如转载 2012-07-21 10:32:05 · 1313 阅读 · 0 评论 -
服务器数据库系列 - Memcache的使用和协议分析详解
作者:heiyeluren博客:http://blog.csdn.net/heiyeshuwu时间:2006-11-12关键字:PHP Memcache Linux 缓存Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。(关于Memcache的更多信息请Googl转载 2012-07-11 19:19:58 · 1894 阅读 · 0 评论 -
服务器数据库系列 - 由浅入深探究mysql索引结构原理、性能分析与优化
来源:http://www.phpben.com/?post=74第一部分:基础知识:索引官方介绍索引是帮助MySQL高效获取数据的数据结构。笔者理解索引相当于一本书的目录,通过目录就知道要的资料在哪里,不用一页一页查阅找出需要的资料。关键字index-------------------------------------------------------------唯一索转载 2012-06-27 15:52:37 · 3319 阅读 · 1 评论 -
服务器数据库系列 - Nginx 静态文件缓存时间设置
location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$ { expires 30d; } location ~ .*\.(js|css)?$ { expires 1h; }代表图片默认缓存30天JS和CSS默认缓存1小时用户可以根据需求设置Nginx原创 2012-06-20 17:17:06 · 1782 阅读 · 0 评论 -
服务器数据库系列 - linux IO监控
1. 基本使用$iostat -d -k 1 10参数 -d 表示,显示设备(磁盘)使用状态;-k某些使用block为单位的列强制使用Kilobytes为单位;1 10表示,数据显示每隔1秒刷新一次,共显示10次。$iostat -d -k 1 10Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtnsda 39.29 21.14转载 2013-05-23 09:48:41 · 1328 阅读 · 0 评论 -
服务器数据库系列 - ulimit的优化和使用
ulimit概述ulimit 是一种 linux 系统的内键功能,它具有一套参数集,用于为由它生成的 shell 进程及其子进程的资源使用设置限制。例如我们的系统会经常碰上会遇上Socket/File: Can’t open so many files这样的问题,主要是由于Linux设置了文件句柄的限制值,默认情况下是1024,一旦服务器访问量上升,则就会报这个错误。ulimi原创 2014-12-08 20:26:52 · 2064 阅读 · 0 评论 -
服务器数据库系列 - 日志系列 - Nginx日志
Nginx日志可以分为两类:用户访问日志和Nginx错误日志。 Nginx的错误日志一般会记录PHP的运行错误的信息。error_log /usr/local/nginx.1.0.5/nginx_error.log crit; Nginx的访问日志:一般记录访问信息,包含来源IP等信息。 log_format Payaccess '$原创 2012-07-21 15:15:21 · 1202 阅读 · 0 评论 -
服务器数据库系列 - centos web服务器环境基本环境配置
安装web服务器所需要的包yum -y install gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* libevent glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel原创 2012-10-15 11:13:27 · 1110 阅读 · 0 评论 -
服务器数据库系列 - MySQL 加锁处理分析
1 背景 11.1 MVCC:Snapshot Read vs Current Read 21.2 Cluster Index:聚簇索引 31.3 2PL:Two-Phase Locking 31.4 Isolation Level 42 一条简单SQL的加锁实现分析 52.1转载 2013-12-13 17:00:41 · 1746 阅读 · 0 评论 -
服务器数据库系列 - 程序员不能不懂数据存储
从个人电脑到互联网时代的数据存储是如何演进的,原理是怎样的,了解了这些,有利于程序员更好的优化性能,系统架构,本文意在讨论这个话题。一、硬盘 一般情况下的电脑,主要存储设备是内存和硬盘,内存是带电存储,硬盘是持久化存储,内存的访问速度比硬盘快。应用软件或者信息化项目,在运行期间,所用到的数据有一部分运行在内存中,访问速度快;有一部分存储在硬盘上,用到的时候,才去访转载 2013-12-04 19:26:28 · 2122 阅读 · 0 评论 -
服务器数据库系列 - Nginx502页面解决方法之一
部分PHP程序的执行时间超过了Nginx的等待时间,可以适当增加nginx.conf配置文件中FastCGI的timeout时间,例如:......http{......fastcgi_connect_timeout 300;fastcgi_send_timeout 300;fastcgi_read_timeout 300;......}......也有可能是PHP代码不原创 2012-11-21 16:23:45 · 1236 阅读 · 0 评论 -
服务器数据库系列 - 百万级数据库查询优化
1.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引。2.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: sele转载 2012-06-22 12:37:54 · 892 阅读 · 0 评论 -
服务器数据库系列 - Mysql Explain 详解
一.语法explain 例如: explain select * from t3 where id=3952602;二.explain输出解释+----+-------------+-------+-------+-------------------+---------+---------+-------+------+-------+| id | selec转载 2014-02-28 15:12:32 · 969 阅读 · 0 评论 -
服务器数据库系列 - apache ab 的使用
格式: ./ab [options] [http://]hostname[:port]/path参数: -n requests Number of requests to perform //在测试会话中所执行的请求个数。默认时,仅执行一个请求 -c concurrency Number of multiple requests to make转载 2013-05-28 16:59:44 · 1115 阅读 · 0 评论 -
服务器数据库系列 - Nginx防攻击的三种方法
1. ngx_http_limit_conn_module 可以用来限制单个IP的连接数:ngx_http_limit_conn_module 模块可以按照定义的键限定每个键值的连接数。特别的,可以设定单一 IP 来源的连接数。并不是所有的连接都会被模块计数;只有那些正在被处理的请求(这些请求的头信息已被完全读入)所在的连接才会被计数。配置范例http {转载 2013-04-17 09:18:35 · 8533 阅读 · 0 评论 -
服务器数据库系列 - 解析nginx负载均衡
作者:changming来源:http://stblog.baidu-tech.com/?p=2027摘要:对于一个大型网站来说,负载均衡是永恒的话题。随着硬件技术的迅猛发展,越来越多的负载均衡硬件设备涌现出来,如F5 BIG-IP、Citrix NetScaler、Radware等等,虽然可以解决问题,但其高昂的价格却往往令人望而却步,因此负载均衡软件仍然是大部分公司的不转载 2012-08-01 10:01:37 · 1156 阅读 · 0 评论 -
服务器数据库系列 - Memcache在linux下安装
Memcache安装和使用安装Memcachetar zxvf memcached-1.4.0.tar.gzcd memcached-1.4.0./configure --with-libevent=/usr/local/libmakemake install安装PHP Memcache 扩展tar xzvf memcache-2.2.5.tgzcd memca原创 2012-09-25 17:06:05 · 1013 阅读 · 0 评论 -
服务器数据库系列 - 超级负载均衡
摘要超级负载均衡旨在为解决服务不断扩展、机器不断增多、机器性能差异等问题,以增强系统的稳定性,自动分配请求压力。算法实现了多个模型和均衡策略,能通过配置实现随机、轮询、一致hash等。同时也能实现跨机房的相关分配。现已经在多个系统中使用。TAG负载均衡内容 现有系统中存在的问题:1. 慢连接、瞬时访问慢。场景一:如果后端新增加机器,cache命中率低,因此响转载 2012-08-02 12:43:46 · 1110 阅读 · 0 评论 -
服务器数据库系列 - 关于NoSQL的思考:为什么我们要优化存储的写性能 .
NoSQL的许多产品中,我们通过benchmark可以看到的都是写性能极度提升,而读性能并没有太大的涨幅甚至相对传统RDBMS还有下降。比如Cassandra,MongoDB这两个NoSQL的杰出代表。究其原因,我们可能会想到是因为当前UGC模式已经发展到白热化,用户产生内容导致读写比已经接近或者说小于1:1。 但是我认为这绝不是个中真实原因。1. 缓存导致存储的raw read效率不转载 2012-07-05 10:36:50 · 982 阅读 · 0 评论 -
服务器数据库系列 - Redis消息通知系统的实现
作者:老王链接:http://huoding.com/2012/02/29/146最近忙着用Redis实现一个消息通知系统,今天大概总结了一下技术细节,其中演示代码如果没有特殊说明,使用的都是PhpRedis扩展来实现的。内存比如要推送一条全局消息,如果真的给所有用户都推送一遍的话,那么会占用很大的内存,实际上不管粘性有多高的产品,活跃用户同全部用户转载 2012-06-27 17:56:14 · 1483 阅读 · 0 评论 -
服务器数据库系列 - Nginx添加Auth密码验证
#1. 新建一个pw.pl文件专门用来生成密码#!/usr/bin/perluse strict;my $pw=$ARGV[0];print crypt($pw,$pw)."\n";#2. 修改Nginx配置文件,添加,用户名和密码存放的文职auth_basic "root";auth_basic_user_file /usr/local/web/nginx.0.8.15/con原创 2012-06-20 15:52:50 · 1524 阅读 · 0 评论 -
服务器数据库系列 - Web站点数据库分布存储浅谈
[原创] Web站点数据库分布存储浅谈作者:heiyeluren博客:http://blog.csdn.net/heiyeshuwu时间:2007-11-18【 前言 】网 站在Web 2.0时代,时常面临迅速增加的访问量(这是好事情),但是我们的应用如何满足用户的访问需求,而且基本上我们看到的情况都是性能瓶颈都是在数据库上,这 个不怪数据库,毕竟转载 2012-12-11 18:12:15 · 915 阅读 · 0 评论 -
服务器数据库系列 - MySQL事务隔离级别详解
作者:xm_king来源:http://xm-king.javaeye.com/blog/770721SQL标准定义了4类隔离级别,包括了一些具体规则,用来限定事务内外的哪些改变是可见的,哪些是不可见的。低级别的隔离级一般支持更高的并发处理,并拥有更低的系统开销。Read Uncommitted(读取未提交内容) 在该隔离级别,所有事务都可以看到其他未提交转载 2012-07-05 11:42:35 · 1172 阅读 · 0 评论 -
服务器数据库系列 - 优化数据库的10个建议
小心设计数据库第一个技巧也许看来理所当然,但事实上大部分数据库的问题都来自于设计不好的数据库结构。譬如我曾经遇见过将客户端信息和支付信息储存在同一个数据库列中的例子。对于系统和用数据库的开发者来说,这很糟糕。新建数据库时,应当将信息储存在不同的表里,采用标准的命名方式,并采用主键。想清楚需要优化的地方如果你想优化某个查询语句,清楚的知道这个语句的结果是非常有转载 2012-06-22 12:21:35 · 828 阅读 · 0 评论 -
服务器数据库系列 - memcache内存分配
一、Memcache内存分配机制 关于这个机制网上有很多解释的,我个人的总结如下。Page为内存分配的最小单位。Memcached的内存分配以page为单位,默认情况下一个page是1M,可以通过-I参数在启动时指定。如果需要申请内存时,memcached会划分出一个新的page并分配给需要的slab区域。page一旦被分配在重启前不会被回收或者重新分配(page r转载 2012-09-27 15:24:17 · 946 阅读 · 0 评论