- 博客(26)
- 收藏
- 关注
原创 网络总结(一)
Nagle算法 Nagle算法用于对缓冲区内一定数量的消息进行自动连接,该处理过程称为Nagling,通过减少必须发送的封包的数量,提高网络程序的效率,但会引入一定的延迟。 默认情况下,发送数据采用Nagle算法。指发送方发送的数据不会立即发出,先放在缓冲区,等缓冲区满了以后再发出。发送完一批数据后,会等待
2013-03-04 18:20:57
848
转载 HTTP协议头部与Keep-Alive模式详解
HTTP协议头部与Keep-Alive模式详解1、什么是Keep-Alive模式?我们知道HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成 之后立即断开连接(HTTP协议为无连接的协议);当使用Keep-Alive模式(又称持久连接、连接重用)时,Keep-Alive功能使客户端到服 务器端的连接持续有效,当
2013-03-04 17:08:54
994
原创 Redis管理
Redis配置 Redis可以使用内置的默认配置文件,但只能用来测试和开发。因此,最好自己配置Redis配置文件,通常叫做redis.conf。也可以直接使用命令行传送Redis配置参数,但一般用来测试。这时,会在内部生成的一个临时内存配置文件,文件参数会被翻译成redis.conf的格式。 运行时更改配置:
2012-12-19 18:42:40
8170
原创 Redis一般特性
Redis简介 Redis是一个开源的key-value存储系统,它通常被称为一个数据结构服务器,因为keys可以包含strings,hashes,lists,sets和sorted sets。 你可以原子的操作这些类型,比如添加一个字符串,在hash中递增一个值,向list加入数据,计算set的交集,并集和差集,在sorted set中取得高范围的
2012-12-18 23:22:18
8304
翻译 配置高并发jdbc连接池
简单的MySQL连接池<Resource type="javax.sql.DataSource" name="jdbc/TestDB" factory="org.apache.tomcat.jdbc.pool.DataSourceFactory" driverClassName="com.mysql.jdbc.Driver
2012-12-15 21:52:06
47006
3
原创 zabbix服务器端安装
Zabbix简介 zabbix是一个基于WEB界面的提供分布式系统监视以及网络监视功能的企业级的开源解决方案。 zabbix由zabbix server与可选组件zabbix agent两部门组成。 zabbix server可以通过SNMP,zabbix agent,ping,端口监视等方法提供对远程服务器/网络状态的监视。
2012-11-29 15:56:58
2696
原创 常用shell
Shell Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口 Shell接收用户输入的命令然后送入内核去执行 Shell起着协调用户与系统的一致性和在用户和系统之间进行交互的作用 Shell命令解释过程 用户提交命令后,Shell先判断它是否是内置命令,如果是就通过Shell内部的解释器将其解释为系
2012-11-26 22:09:52
722
原创 MySQL服务器状态
系统变量 SHOW VARIABLES 可以使用这些变量,代表配置信息,可以通过INFORMATION_SCHEMA数据库里的各个表访问这些变量状态变量 SHOW STATUS 只读,可以从INFORMATION_SCHEMA.GLOBAL_STATUS和INFORMATION_SCHEMA.SESSION_STATUS表取值线程和连接统计信息
2012-11-22 18:18:51
784
原创 安全
权限 通常是在执行一条被允许的SQL查询语句后取得的 与对象相关的和对象无关的 对象指定权限赋予你访问特定对象的权限 全局权限执行一些功能,比如关闭服务器,执行FLUSH,执行各种show命令 基于对象的权限让你操作服务器里的内容 MySQL权限是bool,要么被赋予,要么没有授权表 提供GRANT,REVOKE,DROP
2012-11-22 14:57:47
555
原创 备份与还原
备份与还原 恢复:从备份记录中获取数据,加载到MySQL里 还原:描述救援整个系统或系统一部分的过程 常规事项: 1.裸备份对于大型数据必要的。运行速度快。常选择的是基于快照的备份,如果是InnoDB,使用InnoDB热备份 2.备份用于即使点还原的二进制日志 3.多保留几个备份记录,二进制日志要足够长
2012-11-21 18:44:44
740
原创 应用层面的优化
应用层面的优化 性能通常的瓶颈是缓慢的查询,锁,CPU饱和,网络延迟和文件I/O 寻找常见问题 1.各个机器上的CPU,磁盘,网络和内存资源的使用情况。注意检查配置文件 2.应用是否真正使用了所取得的数据 3.应用和数据库是否做了该由对方做的事情 4.应用里执行了太多的查询
2012-11-20 12:15:15
930
原创 伸缩性与高可用性
伸缩性与高可用性 性能:应用满足某一目标的能力 负载能力:应用能够处理的总负载 伸缩性:应用通过各种方式增大时,能够继续保持原来的性能 可用性:应用响应请求时间的百分比 容错性:应用和整个系统从容的处理错误故障的能力伸缩性 1.规划伸缩性 伸缩性较差的表现:查询缓慢,工作量从CPU密集切换到IO密集,并发查询的竞争,
2012-11-19 23:16:46
765
原创 复制
复制 让一台服务器的数据和另外的服务器保存同步 MySQL支持的复制方案:基于语句复制,基于行复制。都是通过记录主服务器的二进制日志,并在从服务器上进行重放完成复制,都是异步的。从服务器上的数据并非随时都是最新的,也不保证从服务器上的延迟具体大小。复制用途 数据分布 负载平衡,可以把读取分布在不同的服务器上。 备份 高可用性和故障转移
2012-11-19 17:36:35
507
原创 查询缓存
查询缓存 保存了SELECT语句的完整结果集。 1.检查缓存命中 缓存是一个查找表,查找键是查询文本,当前数据库,客户端协议的版本,以及其他影响实际查询结果的因素的哈希值 检查缓存的时候,不会对语句进行解析,正则化或参数化,精确使用查询语句 不会储存有不确定结果的查询。包含不确定函数 额外开销:读取查询前必
2012-11-16 12:04:06
957
原创 查询优化总结
查询性能优化 1.检查应用程序是否获取超过需要的数据。访问过多的行和列 2.检查MySQL服务器是否分析了超过需要的行(分析开销指标:执行时间,检查和返回的行,检查的行和访问类型(EXPLAIN的type列,包括全表扫描,索引扫描,范围扫描,唯一查找扫描,常量。访问速度依次递增))重构查询的方式 1.可以考虑把一个复杂查询分解多个简单查询 2.缩短查询
2012-11-15 16:16:21
796
原创 memcached简介和使用
memcached简介 memcached是高性能的分布式内存缓存服务器。一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、提高可扩展性。 memcached特征:1)协议简单(基于简单的文本行的协议)
2012-11-14 14:22:32
5339
原创 MySQL分析和架构优化
MySQL分析 访问最多的数据 执行最多的查询 停留时间最长的状态 执行查询使用最频繁的子系统 查询过程中访问的数据种类 执行了多少种不同类型的活动记录查询 普通日志:记录服务器接收到每一个查询,包含没有被执行的查询。 慢速日志:记录执行时间超过特定长度的查询 log-slow-queries = [fi
2012-11-14 11:47:29
568
原创 MySQL基本知识
MySQL的逻辑结构 并发控制 1)读锁/写锁 读锁是共享的,写锁是独占的 2)粒度锁 锁策略一般是在锁开销和数据安全之间寻找平衡。 表锁:开销最小 行级锁:支持高并发处理,开销大事务 一组原子性的SQL查询语句,或者可以看做一个工作单元
2012-11-12 23:01:54
478
原创 MySQL操作系统和硬件优化
常见瓶颈 1.CPU饱和(发生在MySQL使用数据被装入内存,或者从磁盘上读取数据时) 2.I/O饱和(发生在需要数据比内存多得多的时候)内存 拥有大量内存最终目的避免磁盘I/O 随机I/O和顺序I/O 随机I/O从缓存中获益最多 顺序I/O比随机I/O快
2012-11-06 15:58:19
846
原创 MySQL配置优化总结
基本知识 配置设置作用域:全局域 会话域(修改会话域的值只会在当前连接有效,连接关闭就失效了) SHOW VARIABLES语句查看系统变量及其值 服务器运行时设置的是动态变量,在MySQL关闭后就会失效 在对配置进行优化的时候,应该先对查询和结构进行优化MySQL内存调优
2012-11-05 22:40:51
721
原创 线程知识
线程 包含了表示进程内执行环境必须的信息,其中包括进程中标识线程的线程ID,一组寄存器值,栈,调度优先级和策略,信号屏蔽字,errno变量以及线程私有数据。进程中所有信息对该进程的所有线程共享的,包括可执行的程序文本,程序的全局内存和堆内存,栈以及文件描述符。多线程好处:为每种事件分配单独线程,简化处理异步事件的代码 可
2012-11-04 12:25:31
513
原创 异常处理
常见错误处理 1)通过函数直接返回bool值或者int值判断错误 2)像c语言一些库一样,定义全局的errno,对errno返回值做出分析处理 3)使用异常处理 4)
2012-11-03 11:03:54
407
原创 MySQL编译安装
安装环境:ubuntu 12.04前期安装第三方包:apt-get install cmake apt-get install bazaar apt-get install bison
2012-11-02 10:48:35
660
原创 异常安全的智能指针
管理指针成员 在包含指针的类中需要注意复制控制,复制指针时只复制指针中的地址,不会复制指针指向的对象。 大多数c++类采用三种方法管理指针成员:1)指针成员采用常规指针型行为。 2)采
2012-11-01 23:06:49
1091
原创 Nginx负载均衡
负载均衡 多台服务器以对称方式组成一个服务器集合,每台服务器具有等价地位,单独对外服务。通过分担技术,将外部发送来请求均匀分配到对称结构中某一台服务器,接受到请求服务器独立回应客户。可以快速获取重要数据,解决大量并发访问。web负载均衡办法 1)用户手动选择 2)DNS轮询方式(同一域名多个IP,随机解析到其中
2012-11-01 17:54:33
909
原创 Nginx作为web前端缓存和反向代理
Nginx简介 Nginx是一个高性能的HTTP服务器和反向代理服务器,也是IMAP/POP3/SMTP 代理服务器。 作为HTTP服务器的基础功能: 1)处理静态文件,索引文件以及自动索引
2012-11-01 12:59:52
7937
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人