05 2019 档案

摘要:二、基于单表设计的多表设计原则:(1)表关系: 一)一对一关系: 定义: 在这种关系中,关系表的每一边都只能存在一个记录。每个数据表中的关键字在对应的关系表中只能存在一个记录或者没有对应的记录。这种关系和一对配偶之间的关系非常相似——要么你已经结婚,你和你的配偶只能有一个配偶,要么你没有结婚没有配偶。大多数的一对一的关系都是某种商业规则约束的结果,而不是按照数据的... 阅读全文
posted @ 2019-05-30 18:13 Mr.peter 阅读(714) 评论(0) 推荐(0) 编辑
摘要:一、单表设计与优化: (1)设计规范化表,消除数据冗余(以使用正确字段类型最明显):数据库范式是确保数据库结构合理,满足各种查询需要、避免数据库操作异常的数据库设计方式。满足范式要求的表,称为规范化表,范式产生于20世纪70年代初,一般表设计满足前三范式就可以,在这里简单介绍一下前三范式。第一范式(1NF)无重复的列所谓第一范式(1NF)是指在关系模型中,对域添加的一个规范要求,所有的域都应该是原... 阅读全文
posted @ 2019-05-30 16:30 Mr.peter 阅读(1089) 评论(0) 推荐(0) 编辑
摘要:今天,数据库的操作越来越成为整个应用的性能瓶颈了,这点对于Web应用尤其明显。关于数据库的性能,这并不只是DBA才需要担心的事,而这更是我们程序员需要去关注的事情。当我们去设计数据库表结构,对操作数据库时(尤其是查表时的SQL语句),我们都需要注意数据操作的性能。这里,我们不会讲过多的SQL语句的优 阅读全文
posted @ 2019-05-30 15:24 Mr.peter 阅读(259) 评论(0) 推荐(0) 编辑
摘要:连接池组件、管理服务和工具组件、SQL接口组件、查询分析器组件、优化器组件、缓冲组件、插件式存储引擎、物理文件; 1、连接层:主要完成一些类似于连接处理,授权认证及相关的方案; 2、服务层:主要完成大多数核心服务功能; 3、引擎层:负责MySQL中数据的存储和提取,服务器通过API与存储引擎进行通信 阅读全文
posted @ 2019-05-30 14:21 Mr.peter 阅读(1274) 评论(0) 推荐(0) 编辑
摘要:[client] port = 3306 socket = /var/lib/mysql/mysql.sock [mysql] #这个配置段设置启动MySQL服务的条件;在这种情况下,no-auto-rehash确保这个服务启动得比较快。 no-auto-rehash [mysqld] user = mysql port = 3306 socket = /var/lib/mysql/mysq... 阅读全文
posted @ 2019-05-30 13:38 Mr.peter 阅读(1384) 评论(0) 推荐(0) 编辑
摘要:一、索引的概述和使用:(1)概述: 1)什么是索引? 索引是一种特殊的文件(InnoDB数据表上的索引是表空间的一个组成部分),它们包含着对数据表里所有记录的引用指针。 更通俗的说,数据库索引好比是一本书前面的目录,能加快数据库的查询速度。在没有索引的情况下,数据库会遍历全部数据后选择符合条件的;而 阅读全文
posted @ 2019-05-30 11:40 Mr.peter 阅读(465) 评论(0) 推荐(0) 编辑
摘要:前言有人反馈之前几篇文章过于理论缺少实际操作细节,这篇文章就多一些可操作性的内容吧。注:这篇文章是以 MySQL 为背景,很多内容同时适用于其他关系型数据库,需要有一些索引知识为基础。 优化目标 1.减少 IO 次数 IO永远是数据库最容易瓶颈的地方,这是由数据库的职责所决定的,大部分数据库操作中超 阅读全文
posted @ 2019-05-30 11:38 Mr.peter 阅读(649) 评论(0) 推荐(0) 编辑
摘要:为什么要优化 系统的吞吐量瓶颈往往出现在数据库的访问速度上 随着应用程序的运行,数据库的中的数据会越来越多,处理时间会相应变慢 数据是存放在磁盘上的,读写速度无法和内存相比 如何优化 设计数据库时:数据库表、字段的设计,存储引擎 利用好MySQL自身提供的功能,如索引等 横向扩展:MySQL集群、负 阅读全文
posted @ 2019-05-30 11:37 Mr.peter 阅读(173) 评论(0) 推荐(0) 编辑
摘要:网站性能压力测试是服务器网站性能调优过程中必不可缺少的一环。只有让服务器处在高压情况下,才能真正体现出软件、硬件等各种设置不当所暴露出的问题。性能测试工具目前最常见的有以下几种:ab、http_load、webbench、siege。今天我们专门来介绍ab。ab是apache自带的压力测试工具。ab 阅读全文
posted @ 2019-05-29 16:06 Mr.peter 阅读(243) 评论(0) 推荐(0) 编辑
摘要:PHP执行的时候,会被编译成opcode,然后 zend引擎会执行opcode.也就是说,如果你两次执行同一个php程序,每次执行,他都要把php代码编译成opcodexcache的意义在于,当你第一次执行php的,他编译opcode的时候,会把这个opcode缓存起来,当你第二次执行这个php程序 阅读全文
posted @ 2019-05-29 15:58 Mr.peter 阅读(146) 评论(0) 推荐(0) 编辑
摘要:PHP的工作模式:php在lamp环境下共有三种工作模式:CGI模式、apache模块、FastCGI模式。CGI模式下运行PHP,性能不是很好。(已淘汰)FastCGI的方式和apache模块的不同点在于:FastCGI方式PHP是一处独立的进程,所有PHP子进程都由PHP的一个叫作php-fpm 阅读全文
posted @ 2019-05-29 15:53 Mr.peter 阅读(239) 评论(0) 推荐(0) 编辑
摘要:有时候,你的网站莫名其妙的访问量变大,不要高兴的太早,有可能是被别人盗链了。 举个例子:比如你搭了个discuz论坛,里面有些热点图片、视频;然后别人将他网站上访问图片的地址重定向到你的discuz上,这样他的服务器就可以空闲出来了;也就是说别人访问他网站的图片视频,消耗的确是你服务器的资源; 解决 阅读全文
posted @ 2019-05-29 15:22 Mr.peter 阅读(2049) 评论(0) 推荐(0) 编辑
摘要:随着网站的访问越来越大,WebServer产生的日志文件也会越来越大,如果不对日志进行分割,那么只能一次将大的日志(如Apache的日志)整个删除,这样也丢失了很多对网站比较宝贵的信息,因为这些日志可以用来进行访问分析、网络安全监察、网络运行状况监控等,因此管理好这些海量的日志对网站的意义是很大的。 阅读全文
posted @ 2019-05-29 15:01 Mr.peter 阅读(370) 评论(0) 推荐(0) 编辑
摘要:查看apache开启那些模块: 1)KeepAlive On/Off KeepAlive指的是保持连接活跃,换一句话说,如果将KeepAlive设置为On,那么来自同一客户端的请求就不需要再一次连接,避免每次请求都要新建一个连接而加重服务器的负担。一般情况下,图片较多的网站应该把KeepAlive设 阅读全文
posted @ 2019-05-29 13:58 Mr.peter 阅读(1443) 评论(0) 推荐(0) 编辑
摘要:1、StartServers:初始数量的服务器进程开始,默认为3个2、MinSpareThreads:最小数量的工作线程,保存备用,默认是75个线程3、MaxSpareThreads:最大数量的工作线程,保存备用,默认是250线程4、ThreadsPerChild:固定数量的工作线程在每个服务器进程 阅读全文
posted @ 2019-05-29 13:23 Mr.peter 阅读(1161) 评论(0) 推荐(0) 编辑
摘要:Nginx: 在nginx配置文件nginx.conf中,加入以下代码: server_tokens off; Apache: 在apache配置文件httpd.conf中,加入以下代码: ServerTokens ProdServerSignature Off ServerTokens ProdS 阅读全文
posted @ 2019-05-29 10:14 Mr.peter 阅读(155) 评论(0) 推荐(0) 编辑
摘要:这个非常有用的优化,mod_expires可以减少20-30%左右的重复请求,让重复的用户对指定的页面请求结果都CACHE在本地,根本不向服务器发出请求。但要注意更新快的文件不要这么做。这个模块控制服务器应答时的Expires头内容和Cache-Control头的max-age指令。有效期(expi 阅读全文
posted @ 2019-05-28 18:16 Mr.peter 阅读(677) 评论(0) 推荐(0) 编辑
摘要:(1)启用MPM Include conf/extra/httpd-mpm.conf (2)配置evnet MPM参数 1、StartServers:初始数量的服务器进程开始,默认为3个 2、MinSpareThreads:最小数量的工作线程,保存备用,默认是75个线程 3、MaxSpareThre 阅读全文
posted @ 2019-05-28 18:13 Mr.peter 阅读(875) 评论(0) 推荐(0) 编辑
摘要:prefork 多进程模式 一个主进程,负责生成多个子进程,也称工作进程,进程之间独立,每个进程之间只能有一个线程,优点是稳定,缺点是内存占用大,每个进程响应一个用户请求。 worker 多线程模式 一个主进程生多个子进程,每个子进程生成多个线程,默认25个,每个线程响应一个用户请求,优点:线程之间 阅读全文
posted @ 2019-05-28 18:12 Mr.peter 阅读(238) 评论(0) 推荐(0) 编辑
摘要:曾几何时我们还在寻求网络编程中C10K问题的解决方案,但是现在从硬件和操作系统支持来看单台服务器支持上万并发连接已经没有多少挑战性了。我们先假设单台服务器最多只能支持万级并发连接,其实对绝大多数应用来说已经远远足够了,但是对于一些拥有很大用户基数的互联网公司,往往面临的并发连接数是百万,千万,甚至腾 阅读全文
posted @ 2019-05-28 16:44 Mr.peter 阅读(5020) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-05-28 14:16 Mr.peter 阅读(129) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2019-05-28 13:50 Mr.peter 阅读(153) 评论(0) 推荐(0) 编辑
摘要:在HTTP 1.0中和Apache服务器的一次连接只能发出一次HTTP请求,而KeepAlive参数支持HTTP 1.1版本的一次连接,多次传输功能,这样就可以在一次连接中发出多个HTTP请求。从而避免对于同一个客户端需要打开不同的连接。很多请求通过同一个 TCP连接来发送,可以节约网络和系统资源。 阅读全文
posted @ 2019-05-27 17:51 Mr.peter 阅读(894) 评论(0) 推荐(0) 编辑
摘要:1.确保apache已经编译的模块里有mod_deflate模块 2.确保apache的配置文件里引入了压缩的模块 3.确保要开启Gzip压缩的虚拟主机配置里有如下配置,并重启apache服务;如果要所有的虚拟主机都生效,把如下配置卸载httpd.conf文件中并重启apache服务 #以上配置ap 阅读全文
posted @ 2019-05-27 17:25 Mr.peter 阅读(286) 评论(0) 推荐(0) 编辑
摘要:一、 安装并配置必要的依赖关系在CentOS系统上安装所需的依赖:ssh,防火墙,postfix(用于邮件通知) ,wget,以下这些命令也会打开系统防火墙中的HTTP和SSH端口访问。 1.安装ssh sudo yum install -y curl policycoreutils-pythono 阅读全文
posted @ 2019-05-25 17:54 Mr.peter 阅读(417) 评论(0) 推荐(0) 编辑
摘要:1.查看当前的运行模块 2.查看httpd进程数 3.查看请求80服务的client ip按照连接数排序 4.查看apache的详细连接情况 5.检测某一台服务器的端口是否开启 6.检测apache的配置是否正确 7.查看apache的TCP连接状态及并发数 LAST_ACK 5 (正在等待处理的请 阅读全文
posted @ 2019-05-24 18:18 Mr.peter 阅读(711) 评论(0) 推荐(0) 编辑
摘要:比如把httpd服务放到全局变量ln -s /usr/local/httpd/bin/httpd /usr/local/bin/ /usr/local/bin/就是环境变量目录 阅读全文
posted @ 2019-05-24 16:10 Mr.peter 阅读(617) 评论(0) 推荐(0) 编辑
摘要:在定时任务所在的类的初始化方法中,添加ip判断 阅读全文
posted @ 2019-05-24 13:10 Mr.peter 阅读(578) 评论(0) 推荐(0) 编辑
摘要:Linux手动释放缓存的方法Linux释放内存的命令:syncecho 1 > /proc/sys/vm/drop_caches drop_caches的值可以是0-3之间的数字,代表不同的含义:0:不释放(系统默认值)1:释放页缓存2:释放dentries和inodes3:释放所有缓存 释放完内存 阅读全文
posted @ 2019-05-20 18:24 Mr.peter 阅读(788) 评论(0) 推荐(0) 编辑
摘要:TCP状态转移要点TCP协议规定,对于已经建立的连接,网络双方要进行四次握手才能成功断开连接,如果缺少了其中某个步骤,将会使连接处于假死状态,连接本身占用的资源不 会被释放。网络服务器程序要同时管理大量连接,所以很有必要保证无用连接完全断开,否则大量僵死的连接会浪费许多服务器资源。在众多TCP状态中 阅读全文
posted @ 2019-05-17 16:35 Mr.peter 阅读(12739) 评论(0) 推荐(0) 编辑
摘要:1.把apache配置文件 <Directory /home/test> Options FollowSymLinks AllowOverride None Order deny,allow allow from all </Directory> 修改为:<Directory /home/test> 阅读全文
posted @ 2019-05-16 14:44 Mr.peter 阅读(468) 评论(0) 推荐(0) 编辑
摘要:1.检查mysql是否正常工作 service mysqld status 2.检查账号密码以及ip地址是否正确 3.检查防火墙的状态,验证该连接是否被防火墙屏蔽了 service iptables stop //关掉防火墙 尝试访问 iptables -A INPUT -p tcp --dport 阅读全文
posted @ 2019-05-16 11:29 Mr.peter 阅读(229) 评论(0) 推荐(0) 编辑
摘要:df -h 查看 重新启动服务器就可以了 阅读全文
posted @ 2019-05-15 11:20 Mr.peter 阅读(165) 评论(0) 推荐(0) 编辑
摘要:步骤1:启用expires模块 步骤2:修改虚拟主机配置文件 阅读全文
posted @ 2019-05-14 15:25 Mr.peter 阅读(317) 评论(0) 推荐(0) 编辑
摘要:1.配置yum源, 2.查看安装包列表 3.安装 阅读全文
posted @ 2019-05-13 17:19 Mr.peter 阅读(225) 评论(0) 推荐(0) 编辑
摘要:1、修改httpd的主配置文件httpd.conf,搜索ServerName#ServerName www.example.com:80 修改为:ServerName www.example.com:802、找到如下内容: <Directory /> AllowOverride none Requi 阅读全文
posted @ 2019-05-13 16:07 Mr.peter 阅读(260) 评论(0) 推荐(0) 编辑
摘要:此教程的作用:设置SSH只允许特定用户从特定的IP登录,其它未经允许的用户和IP都不能登录 示例1:只允许192.168.0.222登录192.168.1.81 # vim /etc/hosts.allow,最后一行加入: sshd:192.168.0.222:allow //多个IP可以按照此格式 阅读全文
posted @ 2019-05-11 10:59 Mr.peter 阅读(10240) 评论(0) 推荐(2) 编辑
摘要:已经 find / -name httpd | xargs rm -rf删光了httpd相关文件,但是使用yum install httpd 无法正常安装。 查看Httpd的状态是 解决办法: yum erase httpd.x86_64 yum install httpd service http 阅读全文
posted @ 2019-05-09 16:19 Mr.peter 阅读(192) 评论(0) 推荐(0) 编辑
摘要:find / -name nginx | xargs rm -rf 阅读全文
posted @ 2019-05-09 11:37 Mr.peter 阅读(4088) 评论(0) 推荐(0) 编辑
摘要:1、停止gitlab 2、卸载gitlab(注意这里写的是gitlab-ce) 3、查看gitlab进程 4、杀掉第一个进程(就是带有好多.............的进程) 杀掉后,在ps aux | grep gitlab确认一遍,还有没有gitlab的进程 5、删除所有包含gitlab文件 阅读全文
posted @ 2019-05-09 11:36 Mr.peter 阅读(12673) 评论(1) 推荐(1) 编辑