发布年夜会见量网站的mysql参数怎样设置?
需要处理因此带来的更多的支持工作,这有可能会带来成本上的提高。在这种情况下,一些MySQL学习教程发行商可能倾向于选择别的开源数据库,例如遵循BSD授权的PostgreSQL。网站会见量愈来愈年夜,MySQL天然成为瓶颈。因而MySQL的优化成为我们必要思索的成绩,第一步天然想到的是MySQL体系参数的优化,作为一个会见量很年夜的网站(日20万人次以上)的数据库体系,不成能期望MySQL默许的体系参数可以让MySQL运转得十分顺畅。
(1)、back_log:
请求MySQL能有的毗连数目。当次要MySQL线程在一个很短工夫内失掉十分多的毗连哀求,这就起感化,然后主线程花些工夫(只管很短)反省毗连而且启动一个新线程。
back_log值指出在MySQL临时中断回覆新哀求之前的短工夫内几个哀求能够被存在仓库中。只要假如希冀在一个短工夫内有良多毗连,你必要增添它,换句话说,这值对到来的TCP/ip毗连的侦听行列的巨细。你的操纵体系在这个行列巨细上有它本人的限定。试图设定back_log高于你的操纵体系的限定将是有效。
当你察看你的主机历程列表,发明大批264084|unauthenticateduser|xxx.xxx.xxx.xxx|NULL|Connect|NULL|login|NULL的待毗连历程时,就要加年夜back_log的值了。默许数值是50,我把它改成500。
(2)、interactive_timeout:
服务器在封闭它前在一个交互毗连上守候举动的秒数。一个交互的客户被界说为对mysql_real_connect()利用CLIENT_INTERACTIVE选项的客户。默许数值是28800,我把它改成7200。
(3)、key_buffer_size:
索引块是缓冲的而且被一切的线程共享。key_buffer_size是用于索引块的缓冲区巨细,增添它可失掉更优点理的索引(对一切读和多重写),到你能包袱得起那样多。假如你使它太年夜,体系将入手下手换页而且真的变慢了。默许数值是8388600(8M),我的MySQL主机有2GB内存,以是我把它改成402649088(400MB)。
(4)、max_connections:
同意的同时客户的数目。增添该值增添mysqld请求的文件形貌符的数目。这个数字应当增添,不然,你将常常看到Toomanyconnections毛病。默许数值是100,我把它改成1024。
(5)、record_buffer:
每一个举行一个按次扫描的线程为其扫描的每张表分派这个巨细的一个缓冲区。假如你做良多按次扫描,你大概想要增添该值。默许数值是131072(128K),我把它改成16773120(16M)
(6)、sort_buffer:
每一个必要举行排序的线程分派该巨细的一个缓冲区。增添这值减速ORDERBY或GROUPBY操纵。默许数值是2097144(2M),我把它改成16777208(16M)。
(7)、table_cache:
为一切线程翻开表的数目。增添该值能增添mysqld请求的文件形貌符的数目。MySQL对每一个独一翻开的表必要2个文件形貌符。默许数值是64,我把它改成512。
(8)、thread_cache_size:
能够复用的保留在中的线程的数目。假如有,新的线程从缓存中获得,当断开毗连的时分假如有空间,客户的线置在缓存中。假如有良多新的线程,为了进步功能能够这个变量值。经由过程对照Connections和Threads_created形态的变量,能够看到这个变量的感化。我把它设置为80。
(10)、wait_timeout:
服务器在封闭它之前在一个毗连上守候举动的秒数。默许数值是28800,我把它改成7200。注:参数的调剂能够经由过程修正/etc/my.cnf文件偏重启MySQL完成。这是一个对照审慎的事情,下面的了局也仅仅是我的一些意见,你能够依据你本人主机的硬件情形(出格是内存巨细)进一步修正。
不可否认,MySQL也是一个很好的关系型数据库,或许在技术上它与其他领先的关系数据库相差并不大,或不具有劣势。但是,对于一些企业环境来说,MySQL显然不具有优势。 连做梦都在想页面结构是怎么样的,绝非虚言 不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关 财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的.. 这一点很好的加强了profiler的功能。但是提到profiler提醒大家注意一点。windows2003要安装sp1补丁才能启动profiler。否则点击没有反应。 理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识 无法深入到数据库系统层面去了解和探究 对一张百万级别的表建游标,同时又没有什么过滤条件,取得游标效率是如果直接SQL查询百万条数据;如果再对每条记录做处理,耗时将更长。 SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)
页:
[1]