-
OpenStack Grizzly Multihost部署文档
生产环境中部署OpenStack基本的要求的是稳定,安全和可扩展性,使用Multihost方式部署的好处是保证了网络的高可用,服务器数量捉急,所以选择mseknibilel的部署方式会比较纠结于控制节点和网络节点的资源浪费。所以本文档参考Longgeek的这篇文章,只做控制节点和计算节点,1个控制节点配多个计算节点,Quantum部署在计算节点上。环境要求先安装1个控制节点和1个计算节点,计算节点可以动态增加,只要将IP地址递增即可 节点类型网卡配置 控制节点eth0 (172.16....…
-
为PHP设置服务器(Apache/Nginx)环境变量
设置环境变量常见的地方为区分开发环境/生产环境,或者定义一些数据库的帐号密码设置Apache环境变量指令设置当前环境变量为DEVSetEnv RUNTIME_ENVIROMENT DEV数据库帐号密码SetEnv MYSQL_USERNAME rootSetEnv MYSQL_PASSWORD root配置文件格式<VirtualHost *:80> ServerAdmin admin@admin.com DocumentRoot "/var/www/" Se...…
-
页面提速之——数据缓存
适用范围一般需要需要数据缓存的页面,集中在以下几个类别:实时性不是很高页面数据繁杂,生成需要读取数据库或者文件访问量较大如果符合这几点,基本可以确定,利用数据缓存,在不影响业务的情况下可以减少页面加载时间实现方式对于PHP而言,我们经常看到的缓存方式有Memcache(内存)MongoDB(非关系数据库)或MySQL(关系数据库)File(文件缓存)效率依次降低,缓存量依次增大,根据自己的业务情况酌情选择即可代码实现使用cache()函数来进行缓存和读取,cache()内部实现过期时间判断...…
-
PHP中的魔术方法和魔术常量简介和使用
有些东西如果不是经常使用,很容易忘记,比如魔术方法和魔术常量。魔术方法(Magic methods)PHP中把以两个下划线__开头的方法称为魔术方法,这些方法在PHP中充当了举足轻重的作用。 魔术方法包括:__construct(),类的构造函数__destruct(),类的析构函数__call(),在对象中调用一个不可访问方法时调用__callStatic(),用静态方式中调用一个不可访问方法时调用__get(),获得一个类的成员变量时调用__set(),设置一个类的成员变量时调用__i...…
-
ROC曲线
最近在读的几篇论文中都使用ROC曲线来分析算法的好坏,这里总结一下这个曲线的一些名词和用法。我这里只列举一些很简单的内容,想要掌握详细的用法请移步参考中维基百科链接,那里讲解非常详细。ROC曲线在信号检测理论中,接收者操作特征曲线(receiver operating characteristic curve,或者叫ROC曲线)是一种座标图式的分析工具,用于:选择最佳的信号侦测模型、舍弃次佳的模型。 在同一模型中设定最佳阈值。在做决策时,ROC分析能不受成本/效益的影响,给出客观中立的建议...…
-
设计模式详解及PHP实现
由于工作中需要写一个比较复杂的类库,这个类库需要很高的扩展性、维护性及复用性。为了麻烦现在简单未来,使用设计模式思想来优化类库可以使工作事半功倍,在这里记录一下各种设计模式,总结一下知识,顺便也可以做为自己日后的参考。设计模式(Design Patterns)设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 --百度百科In software enginee...…
-
MySQL大量数据插入各种方法性能分析与比较
不管是日常业务数据处理中,还是数据库的导入导出,都可能遇到需要处理大量数据的插入。插入的方式和数据库引擎都会对插入速度造成影响,这篇文章旨在从理论和实践上对各种方法进行分析和比较,方便以后应用中插入方法的选择。插入分析MySQL中插入一个记录需要的时间由下列因素组成,其中的数字表示大约比例:连接:(3)发送查询给服务器:(2)分析查询:(2)插入记录:(1x记录大小)插入索引:(1x索引)关闭:(1)如果我们每插入一条都执行一个SQL语句,那么我们需要执行除了连接和关闭之外的所有步骤N次,...…
-
Laravel中使用Redis作为队列系统的工作流程
利用Redis可以很方便的实现一个任务队列,但是在Laravel中,Redis的队列总会出现一个任务多次执行的问题。究其原因是它写死了reserved的时长,也就是如果1分钟后任务没有执行完成,那么这个任务就会被重新放回队列。下面是队列的简单使用和执行原理。设置设置队列使用Redis非常容易,在app/config/queue.php中配置...'default' => 'redis',...'connections' => array( ... 'redis' =...…
-
使用Supervisor来管理你的Laravel队列
Laravel官网教程中,并没有提到用它来写CLI应用,即守护进程或者可执行脚本。但是它却提供了更加便捷的队列(Queue)功能。Laravel队列我们在开发应用过程中难免会遇到处理耗时任务的需求,这些任务如果直接在用户的请求中处理,必然会导致页面显示被阻塞。虽然利用fastcgi的一些特性可以先输出页面,后台任务继续执行,但是这样远远不如将任务交给异步队列来处理方便。配置和启动Laravel队列功能为我们提供了一个便捷的方式去处理这些异步任务,配置一个队列只需要以下几步:配置app/co...…
-
在Laravel中使用自己的类库三种方式
虽然Composer使得我们可以重用很多现有的类库(例如packagist.org中的),但是我们仍然可能用到一些不兼容composer的包或者类库。另外在某一项目中,我们也可能会创建某一类库,而且可能并没有制作成为composer package 的打算。这个时候我们可以通过以下方式来使用自己的特有类库。增加可直接实例化的类有些需要直接在项目中使用的类,可以通过以下方式增加到Laravel中创建类库文件app/libraries/class/myClass.php写入文件内容<?p...…