网务通商务智能网站系统是由上海网务网络信息有限公司打造的一套现今为止国内最好的网站管理系统,本系统采用php内核制作。系统最大的特点是:后台管理功能强大,网站运行速度快,支持静态输出,配有多项商务智能功能,网站安全性极高,对搜索引擎的支持性好,风格模板可自由导入,并且系统可定制各类精美的风格模板!
前台试用: http://demo.biweb.cn
后台试用: http://demo.biweb.cn/admin/
( 管理员:admin 密码:admin 可进入后台)
版本信息:1.8
运行要求:
·linux/freebsd/solaris+apache+mysql 4+php5+zend optimizer2.5.5以上版本支持
·或windows+iis 5/apache+mysql 4+php5+zend optimizer2.5.5以上版本支持
·如果要使用上传功能要求上传目录有写权限
运行环境特点:
- 采用了freebsd操作系统+apache(web服务)+php(编程语言)+mysql(数据库)运行架构,可以在支持更多的访问和更高速的相应速度;
- 同时兼容windows操作系统+iis(web服务)+php(编程语言)+mysql(数据库)运行架构;
- 网站系统无需修改任何代码,就可以在linux/freebsd/solaris/windows这些操作系统下正常运行,兼容性极高。
程序设计特点:
- 采用了MVC架构设计网站,全部功能集成在类库中,方便继承和扩展;
- 采用了php5的pdo做为数据库接口,修改一个参数就可以实现数据库类型转换,可以很方便的从mysql向orcal等大型数据库移植;
- 网站系统所有栏目模块化,直接复制到网务通商务智能系统架构下就可以使用,无需修改,功能模块可重用性非常高;
- 每个功能模块都可以连接不同类型、不同服务器上的不同数据库,充分满足大型网站负载均衡的需求;
- 采用了数据库预处理、查询数据缓存、smarty缓存页面、生成静态页面、客户端缓存等多种缓存机制,减轻服务器压力,提高服务器的承载能力,可承受更多用户的频繁访问;
- 上传得文件被集中管理,方便拓展成为大型的磁盘阵列文件系统;
- 数据库结构优化,对于表现层的数据拓展,只需要修改配置文件即可,无需修改程序代码,而且支持全文检索;
- 网站核心都是有多年丰富经验的网站工程师开发设计,代码紧凑,条理清晰,安全性极高;
网页设计特点:
- 前台所有网页源码全部采用XHTML,全部符合W3C组织制定的国际网页设计标准;
- 外观样式采用CSS控制,灵活方便调整,可是在任何浏览器下正常观看;
- 网页设计还符合W3C-WAI 无障碍网页开发标准WCAG,增加了快捷键等内容,方便残障人士正常访问网站;
- 网页设计符合多项国际设计标准,可以被多项未来多项设备读取,例如:手机、电视机、冰箱等;
- 网页设计非常注重用户体验,合理的UI设计,使得用户操作更加方便快捷;
- 网页设计使用最少的代码,来体现最合理的网页内容,拒绝垃圾代码,是网务通设计师们秉承的设计原则;
搜索引擎优化设计特点:
- 网站使用了伪静态和纯静态页面优化链接,伪静态页面主要用在首页、索引页、列表页,纯静态页面主要用在信息详细页面;
- 全站采用有含义的英文单词作为页面命名,可获得更高的排名;
- 网站链接设计合理,可以确表搜索引擎收录网站所有的内容;
- 网站链接设计优化,可以确保搜索引擎收录多出网站实际内容几倍的网页内容,增加了被用户搜索到的机率;
- 网站系统所有栏目标题、关键字和描述用户均可自行修改,这样避免了设计人员不懂行、找不准关键字的弊端;
- 网站页面设计符合国际标准,更受搜索引擎欢迎,可获得更好的排名;
- 生成了google sitemaps网站全站索引,可以指导google按照设定的时间来更新网站内容;
- 在启用商务智能推广功能后,多名使用了网务通网站系统的用户将获得自动链接推广功能,用户再也不用为高pr的网站不愿意链接您的网站而担心了;
- 所有的商业用户将获得网务公司资深设计师的优化技术指导;
网站管理后台设计特点:
- 网务通网站系统为了方便用户使用网站系统,设计了多项管理功能,使得网站系统更加灵活,操作方便;
- 系统设置:可以设置网站联系方式、网站缓存时间、选择模板样式等;
- 网站管理:可以方便管理网站各个功能模块,方便对网站信息的操作;
- 说明栏目:可以方便管理网站所有的说明性栏目,如:公司简介,联系方式等;
- 数据管理:可以自行备份、还原和优化网站数据库,避免托管主机物理故障造成的数据丢失损失;
- 网站优化:可以调整网站栏目、链接、静态页面,并可以生成google sitemaps网站全站索引;
- 商务智能:可以获得很多便利的商务智能功能;
- 在线帮助:可以帮助用户将获得网务通的使用方法及获得网务公司专业人士的技术指导;
- 网站系统集合了价值1800元正版eWebEditor在线编辑器,可以很方便的实现远程图片上传等功能;
近年来,随着IT业和互联网的超速发展,企业对PHP程序员的需求也大量增加,随意查询中华英才网、51job等招聘网站可以发现,每天的PHP程序员需求量都在1000以上,而程序员和招聘岗位的供求比例是1:40,很多公司半年都招不到一个合适的PHP程序员。这个岗位是程序员中最火的,这种严重供不应求的局面在未来几年当中还将愈演愈烈。
鉴于此,非凡教育开发了PHP程序员系列课程。既满足用人单位对PHP开发型、复合型人才的需求,也为高职、本专科学生和社会人员提供了一条新的就业之路。特别是应届大学生多了这个一技之长,大大拓展了求职范围,能更好地找到合适工作。
一、课程设置
| 一、PHP网站程序设计员 | |||
| 课程设置 | 培训内容 | 培训目标 | 学费 |
| PHP入门班 (业内普遍薪资2500+) | PHP发展史与人才现状,PHP5基本语法,PHP5运行环境架设,PHPMyAdmin数据库管理工具学习,MYSQL5数据库研究。 | 熟练使用PHP,熟悉MYSQL一般特性,能熟练配置一般网站项目的数据库;能够胜任小型网站的日常维护工作。 | 1800元 |
| PHP进阶班 (业内普遍薪资5000+) | MVC程序设计架构原理,ArthurXF智能网站系统框架,MYSQL数据库进阶学习,大型网站优化。项目中边做边教,从编码规则,需求分析,绘制数据流程图,功能流程图,代码编写,MVC架构,数据库设计,压力测试,单元测试,bug跟踪处理,其中还会有一些编程的技巧和经验传授。 | 精通PHP程序和Mysql数据库,熟练使用smarty模板技术,能够胜任中、大型网站开发与维护工作。 | 5000元 |
| 二、W3C国际标准网页设计师(网站前台程序员) | |||
| 课程设置 | 培训内容 | 培训目标 | 学费 |
| 入门班 (业内普遍薪资1500+) | Web标准的发展与市场需求,HTML基本语法,网页设计结构学习。 | 能够手写网页代码,实现静态网页的制作。 | 1000元 |
| 进阶班 (业内普遍薪资4000+) | XHTML基本语法,W3C网页设计国际标准,网页设计架构,CSS2.0基本语法,CSS2.0设计架构,CSS2.0浏览器兼容。Javascript使用。 | 手写XHTML代码,精通XHTML和HTML的区别,制作符合W3C国际标准、兼容在多个流行浏览器运行的网站页面。 | 4000元 |
| 三、网络服务器管理工程师 | |||
| 课程设置 | 培训内容 | 培训目标 | 学费 |
| Windows管理 (业内普遍薪资3500+) | windows 2003安装,IIS网站服务配置,邮件服务器安装配置,FTP服务器配置,MSSQL 2005数据库安装配置。 | 能够管理Windows2003网络服务器,胜任Windows2003网络管理员工作。 | 3500元 |
| FreeBSD管理 (业内普遍薪资4500+) | FREEBSD系统安装配置,内核重新编译,设置环境变量,PORTS更新安装程序,Apache + MYSQL+PHP安装配置。 | 能够管理FREEBSD网络服务器,胜任FREEBSD网络管理员工作。 | 4500元 |
| 四、无线网站设计开发工程师 | |||
| 课程设置 | 培训内容 | 培训目标 | 学费 |
| WAP无线开发 (业内普遍薪资6000+) | WML语言语法,WAP和WEB同时设计。 | 可开发出一套数据,通过无线和互联网均可浏览的网站。 | 6000元 |
二、主讲教师
肖飞:IT从业经验十年,熟悉计算机软件编程和大型网站设计,曾主导亿网行、网务通、中国社区网、异域商城、仪器仪表网上商城以及十多个大型网站设计开发,还曾带队开发在线支付、移动增值接口、CRM、ERP等大型系统。对网络信息整合、数据整合有深入研究、对门户网站和电子商务有丰富的实际运作经验,独创MVC网站快速开发架构及网站SEO优化技术。曾任中国社区网、亿网行中国事业部、MadHouse亿动广告传媒等公司技术总监或资深技术经理。
三、培训对象
1、高中以上学历,具有计算机基础的在校生、在职人员及社会各类人士,希望进入IT高薪行业的有志之士;
2、有一定程序开发和网络基础,想在IT领域内更进一步提升和进修的人员。
四、培训特色
★ 领先技术、权威模型
课程由非凡教育与网务中国的专家共同开发,在PHP技术方面,网务专家不仅是技术开拓者和领航者,也是行业标准的制定者,积累了丰富的开发和培训经验。独创的MVC程序设计架构,ArthurXF框架,设计科学、扩展性强,特别适合网站开发,在五分钟内便可以完成一个网站栏目开发。
★ 专家亲授、小班教学
师资由来自上海交大等高校专家和业内PHP高手组成,均具备重大项目开发管理经验和教学经验,保证了高水平的教学质量。小班教学,便于学员全面掌握PHP件开发的关键技术和重要工具,学员不仅能具备独立开发能力,更能掌握团队协作开发技能,能很好的适应大型PHP开发的工作。
★ 超短周期、超低投入、超值回报
培训效率高,学习周期只需要1-2个月时间,学员即可掌握PHP编程和实际项目开发经验,具备相应的实战经验和实践能力,能够胜任开发工作,快速就业。而学费投入大致只相当于学员就业后一个月工资收入,投入超低,回报巨大。
★ 真实项目、面向就业
课程以真实项目为范例,在项目分析、讲解和实践中让学员了解网络项目的开发过程和开发重点。优秀学员可免费参与实际项目开发,积累开发经验并获得相关工作经历证明。学员作品可以免费上线,方便对用人单位进行展示,提升面试成功率。我们还将提供技术顾问支持,为学员职业发展保驾护航。
五、优惠政策及保障措施
1、家庭困难学员,凭当地政府证明(县级以上证明)可享受部分课程全免费学习;
2、一次性报名学习PHP入门与进阶二级课程的,可免费学习W3C国际标准网页设计师入门班;
3、参加学习PHP进阶班以上的合格学员,推荐就业;
4、在某阶段培训学习完成后,如不能掌握相关知识,可以返回上一班级重新学习;
5、所有参加我院培训的学员赠送商务智能建站平台VIP会员服务一年;
6、学员在工作中遇到相关问题,可以通过论坛发贴或来校询问的方式,获得技术支持。
六、报名咨询
咨询电话:021-51097877 咨询QQ:251660569 报名邮箱:phedu@hotmail.com
官方网址:www.phedu.cn 讲师博客:www.bizeway.net 技术支持平台:www.biweb.cn
报名时间:上午9:00—下午19:00 (双休日照常办公)
报名地点:上海徐汇区漕溪路165号华谊党校1209室
交通:地铁1、4号线上海体育馆站、3号线漕溪路站, 公交120、764、704、704B、92、92B、946、315、157、218、43、720、50、703、718、703B、徐闵线到田林东路下车
这要是在ADSL等宽带技术还没有普及之前,企业接入广域网需要专门的企业级传统路由器,如;CISCO 2600系列接入路由器,来接入帧中继(FRAME RELAY)、数字数据网(DDN)、x.25等。而企业要部署VLAN,要具有VLAN划分功能的交换机来与传统路由器配合,由传统路由器来做VLAN间通信的路由,那么面对昂贵的传统路由器,小企业无力承受,这是可以理解的。但现在宽带技术普及之后,一般的企业都会选择ADSL或城域网,除非是非常传统的行业企业,如银行业还是采用DDN。同时担当接入的网关设备也不在唯一的由传统路由器来承担,而是出现了种类繁多的宽带接入设备,如:宽带路由器、VPN防火墙等。代替传统路由器做VLAN路由的三层交换机已经出现,基于硬件的路由转发比传统路由器基于软件的路由转发效率更高、更快。
现在企业部署VLAN有了更好的选择,那就是由三层交换机和有VLAN功能的二层接入交换机来配合实现。并且随着生产三层交换机的厂家越来越多,市场供应的丰富,使原来价格也高高在上的三层交换机将很快走向平民化,特别是千兆三层交换机在高端市场的普及,促使百兆三层交换机向中低端市场普及,并且价位降到一般中小企业有能力接受的程度。因此在这里进一步点出本文的题目“三层交换,你也可以”的主旨。在网络核心部署三层交换对中小企业已不是什么新鲜话题。
划分VLAN子网的好处
VLAN(Virtual Local Area Network)称为虚拟局域网,是指在逻辑上将物理的LAN分成不同小的逻辑子网,每一个逻辑子网就是一个单独的播域。简单地说,就是将一个大的物理的局域网(LAN)在交换机上通过软件划分成若干个小的虚拟的局域网(VLAN)。因为交换机通信的原理就是要通过“广播”来发现通往的目的MAC地址,以便在交换机内部的MAC数据库建立MAC地址表,而广播不能跨越不同网段。通过划分VLAN子网,能划小了广播域,避免了数据碰撞在大的物理LAN内产生严重后果的可能,也避免了广播风暴的产生。提高交换网络的交换效率,保证网络稳定。提高网络安全性,通过划分VLAN,LAN被划分不同子网段,因此不能直接通信。必要的通信必须经过路由来实现,因此可在路由器(或三层交换机)上配置访问列表来进行跨子网段的授权访问,从而提高企业内部网络访问的安全性。方便网络管理:采用VLAN技术来划分企业网络,一个VLAN可以根据部门、项目组或者服务器组将不同地理位置的工作站划分为一个逻辑网段。在不改动网络物理连接的情况下可以任意地将工作站在子网之间移动,VLAN提供了网段和机构的弹性组合机制。VLAN技术很好的解决了网络管理的问题,能实现网络监督与管理的自动化,从而更有效的进行网络监控。
因为各个子网产生的广播将被限制在小的虚拟局域网内。当LAN中的不同VLAN间进行相互通信时,由于处于不同的IP子网段,不能象原先大的LAN那样直接通信,因此需要路由来转发,这时就需要增加路由设备——要实现路由功能。
三层交换技术
VLAN和路由是孪生兄弟,有VLAN就必有路由。
在没有出现三层交换机以前,VLAN间的通信需要昂贵的传统路由器来配合工作。在企业网中,不同VLAN子网之间的通信频繁发生,而路由器是基于软件的路由选择操作,本来效率就不高,如果路由器要对每一个数据包都路由一次,也就是“每次转发,每次路由”,随着需要路由的数据量增大,传统的路由器将不堪重负,于是就成为VLAN之间通信的瓶颈。
三层交换机则把网络通信中的二层交换技术和三层路由(或称三层转发)技术结合在一起,并通过ASIC技术达到线速交换,大幅度提高了设备数据的包转发能力,消除了转发瓶颈。同时通过VLAN划分、高效的组播控制、流策略的管理及访问控制等功能有效保证网络资源的充分利用,切实保证满足各类用户的应用需求。三层交换机在对第一个数据流进行路由后,会产生一个MAC地址与IP地址的映射表,当同样的数据流再次通过时,将根据映射表直接进行二层交换,也就是“一次路由,多次交换”,这样大大提高了数据包转发的效率,因而提高了VLAN网络的整体性能。
有了三层交换机,企业做VLAN子网的划分时,设备上的付出就相对经济得多,网络的VLAN间数据路由转发性能更加高效。
小企业的三层交换部署实例
从上面两个小节我们知道了划分VLAN子网对于一个企业局域网的重要性和必要性,而划分VLAN的必要配套工程,就是要部署三层交换机。目前三层交换机的市场发展,品牌倍出,但是价位还是有些高,如百兆三层交换机一般在8000-9000元左右,但个别低价的还是有的,如:D-Link DES-3326SR报价4000元,这使我们100个以内的小型企业也一样可以部署高效安全的VLAN网络。
本案我们就选择这款非常经济的三层交换机,在网络的核心部署一台D-Link DES-3326SR三层交换机,接入层则由若干台D-Link DES-3226S百兆可堆叠二层交换机来担任,。
D-Link DES-3326SR简介(图1)
图1
DES-3326SR是一款可堆叠多层可路由交换机,它在一个机箱里集成了二层线速交换和三层IP包路由以及服务质量(QoS)功能。它提供24个10/100 Mbps端口,一个用于快速以太网、千兆模块、堆叠的扩展插槽,8.8Gbps交换架构,8K MAC地址表,2K路由表,6.6Mpps三层包转发速率,16MB RAM缓存。支持冗余备份电源,可通过高速堆叠线缆堆叠在一起,最多可堆叠13个单元。允许8个10/100Mbps端口干路提供聚合带宽。
通过网络分段,支持IEEE 802.1Q VLAN Tagging的工作站能被分组到不同的VLAN中。这款交换机也支持GVRP,以此来进行VLAN配置信息的自动发布。
支持RIP-1,RIP-2,OSPF路由协议,DVMRP,PIM Dense mode组播路由协议。
于端口和基于MAC地址的802.1x特性使用户的每次接入请求都能进行认证。多层的访问控制列表(ACL)。支持优先级队列和IP组播(IGMP snooping),服务质量(QoS)能保证成功地完成像视频会议这样的对延迟敏感的应用。
支持802.1p优先队列控制,从第二层到第四层的多层信息都能被用来为数据包设置优先级。侦听IGMP,控制广播,交换机动态地配置端口使之把IP组播数据只转发给那些和组播主机相关的端口。
SNMPv.1,v.2c,v.3网络管理。能提供RMON监测和SYSLOG以完成有效的中心管理。交换机也提供命令行接口(CLI)和基于Web的GUI。
子网规划及网络拓朴图
VLAN的划分应与IP规划结合起来,使得一个VLAN 接口IP就是对应的子网段就是某个部门的子网段,VLAN接口IP就是一个子网关。VLAN应以部门划分,相同部门的主机IP以VLAN接口IP为依据划归在一个子网范围,同属于一个VLAN。这样不仅在安全上有益,而且更方便网络管理员的管理和监控。注意:各VLAN中的客户机的网关分别对应各VLAN的接口IP。
在这企业网中计划规划四个VLAN子网对应着四个重要部门,笔者认为这也是小企业最普遍的部门结构,分别是:
VLAN10——综合行政办公室;
VLAN20——销售部;
VLAN30——财务部;
VLAN40——数据中心(网络中心)。
划分VLAN以后,要为每一个VLAN配一个“虚拟接口IP地址”。
VLAN10——192.168.10.1
VLAN20——192.168.20.1
VLAN30——192.168.30.1
VLAN40——192.168.40.1
拓朴图如下:
图2(点击看大图)
VLAN及路由配置
1.DES-3326SR三层交换机的VLAN的配置过程:
(1)创建VLAN
DES-3326SR#Config vlan default delete 1 -24 ?删除默认VLAN(default)包含的端口1-24''
DES-3326SR#Create vlan vlan10 tag 10 ?创建VLAN名为vlan10,并标记VID为10
DES-3326SR#Create vlan vlan20 tag 20 ?创建VLAN名为vlan20,并标记VID为20
DES-3326SR#Create vlan vlan30 tag 30 ?创建VLAN名为vlan10,并标记VID为30
DES-3326SR#Create vlan vlan40 tag 40 ?创建VLAN名为vlan10,并标记VID为40
(2)添加端口到各VLAN
DES-3326SR#Config vlan vlan10 add untag 1-6 ?把端口1-6添加到VLAN10
DES-3326SR#Config vlan vlan20 add untag 7-12 ?把端口1-6添加到VLAN20
DES-3326SR#Config vlan vlan30 add untag 13-18 ?把端口1-6添加到VLAN30
DES-3326SR#Config vlan vlan40 add untag 19-24 ?把端口1-6添加到VLAN40
(3)创建VLAN接口IP
DES-3326SR#Create ipif if10 192.168.10.1/24 VLAN10 state enabled ?创建虑拟的接口if10给名为VLAN10的VLAN子网,并且指定该接口的IP为192.168.10.1/24。创建后enabled激活该接口。
同样方法设置其它的接口IP:
DES-3326SR#Create ipif if20 192.168.20.1/24 VLAN20 state enabled
DES-3326SR#Create ipif if30 192.168.30.1/24 VLAN30 state enabled
DES-3326SR#Create ipif if40 192.168.40.1/24 VLAN40 state enabled
(4)路由
当配置三层交换机的三层功能时,如果只是单台三层交换机,只需要配置各VLAN的虚拟接口就行,不再配路由选择协议。因为一台三层交换机上的虚拟接口会在交换机里以直接路由的身份出现,因此不需要静态路由或动态路由协议的配置。
2.DES-3226S二层交换机的VLAN的配置过程:
(1)创建VLAN
DES-3226S#Config vlan default delete 1 -24 ?删除默认VLAN(default)包含的端口1-24''
DES-3226S#Create vlan vlan10 tag 10 ?创建VLAN名为vlan10,并标记VID为10
(2)添加端口到各VLAN
DES-3226S#Config vlan vlan10 add untag 1-24 ?把端口1-24添加到VLAN10
同理,配置其它DES-3226S二层交换机。完成以后就可以将各个所属VLAN的二层交换机与DES-3326SR三层交换机的相应VLAN的端口连接即可。
本文从小型企业部署VLAN的经济性原则出发,介绍了在成本支出有限的情况下,如何为小型企业网规划VLAN子网并实现高效的VLAN三层交换的案例。虽然现在百兆的三层交换机价位有点居高不下,千兆三层更贵,但是,只要用心找一找,还是能找到符合小型企业需要的经济型三层交换机的。这为我们小企业部署核心三层交换带来了可能。我们也坚信,随着产能的扩大,面向中低端的三层交换机将大量普及。这将为我们规划VLAN子网和三层路由,为企业建设一个高效安全的网络提供可能。
My favorite question during Interview for people to work as MySQL DBAs or be involved with MySQL Performance in some way is to ask them what should be tuned in MySQL Server straight after installation, assuming it was installed with default settings.
在面试MySQL DBA或者那些打算做MySQL性能优化的人时,我最喜欢问题是:MySQL服务器按照默认设置安装完之后,应该做哪些方面的调节呢?
I’m surprised how many people fail to provide any reasonable answer to this question, and how many servers are where in wild which are running with default settings.
令我很惊讶的是,有多少人对这个问题无法给出合理的答案,又有多少服务器都运行在默认的设置下。
Even though you can tune quite a lot of variables in MySQL Servers only few of them are really important for most common workload. After you get these settings right other changes will most commonly offer only incremental performance improvements.
尽管你可以调节很多MySQL服务器上的变量,但是在大多数通常的工作负载下,只有少数几个才真正重要。如果你把这些变量设置正确了,那么修改其他变量最多只能对系统性能改善有一定提升。
key_buffer_size - Very important if you use MyISAM tables. Set up to 30-40% of available memory if you use MyISAM tables exclusively. Right size depends on amount of indexes, data size and workload - remember MyISAM uses OS cache to cache the data so you need to leave memory for it as well, and data can be much larger than indexes in many cases. Check however if all of key_buffer is used over time - it is not rare to see key_buffer being set to 4G while combined size of .MYI files is just 1GB. This would be just a waste. If you use few MyISAM tables you’ll want to keep it lower but still at least 16-32Mb so it is large enough to accommodate indexes for temporary tables which are created on disk.
key_buffer_size - 这对MyISAM表来说非常重要。如果只是使用MyISAM表,可以把它设置为可用内存的 30-40%。合理的值取决于索引大小、数据量以及负载 -- 记住,MyISAM表会使用操作系统的缓存来缓存数据,因此需要留出部分内存给它们,很多情况下数据比索引大多了。尽管如此,需要总是检查是否所有的 key_buffer 都被利用了 -- .MYI 文件只有 1GB,而 key_buffer 却设置为 4GB 的情况是非常少的。这么做太浪费了。如果你很少使用MyISAM表,那么也保留低于 16-32MB 的 key_buffer_size 以适应给予磁盘的临时表索引所需。
innodb_buffer_pool_size This is very important variable to tune if you’re using Innodb tables. Innodb tables are much more sensitive to buffer size compared to MyISAM. MyISAM may work kind of OK with default key_buffer_size even with large data set but it will crawl with default innodb_buffer_pool_size. Also Innodb buffer pool caches both data and index pages so you do not need to leave space for OS cache so values up to 70-80% of memory often make sense for Innodb only installations. Same rules as for key_buffer apply - if you have small data set and it is not going to grow dramatically do not oversize innodb_buffer_pool_size you might find better use for memory available.
innodb_buffer_pool_size - 这对Innodb表来说非常重要。Innodb相比MyISAM表对缓冲更为敏感。MyISAM可以在默认的 key_buffer_size 设置下运行的可以,然而Innodb在默认的 innodb_buffer_pool_size 设置下却跟蜗牛似的。由于Innodb把数据和索引都缓存起来,无需留给操作系统太多的内存,因此如果只需要用Innodb的话则可以设置它高达 70-80% 的可用内存。一些应用于 key_buffer 的规则有 -- 如果你的数据量不大,并且不会暴增,那么无需把 innodb_buffer_pool_size 设置的太大了。
innodb_additional_pool_size This one does not really affect performance too much, at least on OS with decent memory allocators. Still you might want to have it 20MB (sometimes larger) so you can see how much memory Innodb allocates for misc needs.
innodb_additional_pool_size - 这个选项对性能影响并不太多,至少在有差不多足够内存可分配的操作系统上是这样。不过如果你仍然想设置为 20MB(或者更大),因此就需要看一下Innodb其他需要分配的内存有多少。
innodb_log_file_size Very important for write intensive workloads especially for large data sets. Larger sizes offer better performance but increase recovery times so be careful. I normally use values 64M-512M depending on server size.
innodb_log_file_size 在高写入负载尤其是大数据集的情况下很重要。这个值越大则性能相对越高,但是要注意到可能会增加恢复时间。我经常设置为 64-512MB,跟据服务器大小而异。
innodb_log_buffer_size Default for this one is kind of OK for many workloads with medium write load and shorter transactions. If you have update activity spikes however or work with blobs a lot you might want to increase it. Do not set it too high however as it would be waste of memory - it is flushed every 1 sec anyway so you do not need space for more than 1 sec worth of updates. 8MB-16MB are typically enough. Smaller installations should use smaller values.
innodb_log_buffer_size 默认的设置在中等强度写入负载以及较短事务的情况下,服务器性能还可以。如果存在更新操作峰值或者负载较大,就应该考虑加大它的值了。如果它的值设置太高了,可能会浪费内存 -- 它每秒都会刷新一次,因此无需设置超过1秒所需的内存空间。通常 8-16MB 就足够了。越小的系统它的值越小。
innodb_flush_logs_at_trx_commit Crying about Innodb being 100 times slower than MyISAM ? You probably forgot to adjust this value. Default value of 1 will mean each update transaction commit (or each statement outside of transaction) will need to flush log to the disk which is rather expensive, especially if you do not have Battery backed up cache. Many applications, especially those moved from MyISAM tables are OK with value 2 which means do not flush log to the disk but only flush it to OS cache. The log is still flushed to the disk each second so you normally would not loose more than 1-2 sec worth of updates. Value 0 is a bit faster but is a bit less secure as you can lose transactions even in case MySQL Server crashes. Value 2 only cause data loss with full OS crash.
innodb_flush_logs_at_trx_commit 是否为Innodb比MyISAM慢1000倍而头大?看来也许你忘了修改这个参数了。默认值是 1,这意味着每次提交的更新事务(或者每个事务之外的语句)都会刷新到磁盘中,而这相当耗费资源,尤其是没有电池备用缓存时。很多应用程序,尤其是从 MyISAM转变过来的那些,把它的值设置为 2 就可以了,也就是不把日志刷新到磁盘上,而只刷新到操作系统的缓存上。日志仍然会每秒刷新到磁盘中去,因此通常不会丢失每秒1-2次更新的消耗。如果设置为 0 就快很多了,不过也相对不安全了 -- MySQL服务器崩溃时就会丢失一些事务。设置为 2 指挥丢失刷新到操作系统缓存的那部分事务。
table_cache - Opening tables can be expensive. For example MyISAM tables mark MYI header to mark table as currently in use. You do not want this to happen so frequently and it is typically best to size your cache so it is large enough to keep most of your tables open. It uses some OS resources and some memory but for modern hardware it is typically not the problem. 1024 is good value for applications with couple hundreds tables (remember each connection needs its own entry) if you have many connections or many tables increase it larger. I’ve seen values over 100.000 used.
table_cache -- 打开一个表的开销可能很大。例如MyISAM把MYI文件头标志该表正在使用中。你肯定不希望这种操作太频繁,所以通常要加大缓存数量,使得足以最大限度地缓存打开的表。它需要用到操作系统的资源以及内存,对当前的硬件配置来说当然不是什么问题了。如果你有200多个表的话,那么设置为 1024 也许比较合适(每个线程都需要打开表),如果连接数比较大那么就加大它的值。我曾经见过设置为 100,000 的情况。
thread_cache Thread creation/destructions can be expensive, which happen at each connect/disconnect. I normally set this value to at least 16. If application has large jumps in amount of concurrent connections and I see fast growth of
Threads_Created variable I boost it higher. The goal is not to have threads created in normal operation.
thread_cache -- 线程的创建和销毁的开销可能很大,因为每个线程的连接/断开都需要。我通常至少设置为 16。如果应用程序中有大量的跳跃并发连接并且 Threads_Created 的值也比较大,那么我就会加大它的值。它的目的是在通常的操作中无需创建新线程。
query_cache If your application is read intensive and you do not have application level caches this can be great help. Do not set it too large as it may slow things down as its maintenance may get expensive. Values from 32M to 512M normally make sense. Check it however after a while and see if it is well used. For certain workloads cache hit ratio is lower than would justify having it enabled.
query_cache -- 如果你的应用程序有大量读,而且没有应用程序级别的缓存,那么这很有用。不要把它设置太大了,因为想要维护它也需要不少开销,这会导致MySQL变慢。通常设置为 32-512Mb。设置完之后最好是跟踪一段时间,查看是否运行良好。在一定的负载压力下,如果缓存命中率太低了,就启用它。
Note: as you can see all of these are global variables. These variables depend on hardware and mix of storage engines, while per session variables are typically workload specific. If you have simple queries there is no reason to increase sort_buffer_size even if you have 64GB of memory to waste. Furthermore doing so may decrease performance.
I normally leave per session variable tuning to second step after I can analyze workload.
注意:就像你看到的上面这些全局表量,它们都是依据硬件配置以及不同的存储引擎而不同,但是会话变量通常是根据不同的负载来设定的。如果你只有一些简单的查询,那么就无需增加 sort_buffer_size 的值了,尽管你有 64GB 的内存。搞不好也许会降低性能。
我通常在分析系统负载后才来设置会话变量。
P.S Note MySQL distribution contains bunch of sample my.cnf files which may be great templates to use. Typically they would already be much better than defaults if you chose correct one.
P.S,MySQL的发行版已经包含了各种 my.cnf 范例文件了,可以作为配置模板使用。通常这比你使用默认设置好的多了。
other:
back_log:
要求 MySQL 能有的连接数量。当主要MySQL线程在一个很短时间内得到非常多的连接请求,这就起作用,然后主线程花些时间(尽管很短)检查连接并且启动一个新线程。
back_log值指出在MySQL暂时停止回答新请求之前的短时间内多少个请求可以被存在堆栈中。只有如果期望在一个短时间内有很多连接,你需要增加它,换句话说,这值对到来的TCP/IP连接的侦听队列的大小。你的操作系统在这个队列大小上有它自己的限制。 试图设定back_log高于你的操作系统的限制将是无效的。
当你观察你的主机进程列表,发现大量 264084 | unauthenticated user | xxx.xxx.xxx.xxx | NULL | Connect | NULL | login | NULL 的待连接进程时,就要加大 back_log 的值了。默认数值是50,把它改为500。
你要找的正则表达式都在这个网站。
http://regexlib.com/
你可以根据类别查找你要的哪种正则,每个正则都有介绍,投票和能匹配什么,不能匹配什么。非常的实用啊。
ArthurXF强烈推荐去这个网站上去抄正则表达式。
友情提醒:该网站的正则一般使用PHP的eregi函数调用。




2008/02/21 11:46 
