分类目录归档:互联网上

mysql my.ini 设置参数详细说明

公司网站访问量越来越大,MySQL自然成为瓶颈,因此最近我一直在研究 的优化,第一步自然想到的是 系统参数的优化,作为一个访问量很大的网站(日20万人次以上)的数据库系统,不可能指望 默认的系统参数能够让 MySQL运行得非常顺畅。

  通过在网络上查找资料和自己的尝试,我认为以下系统参数是比较关键的:

  (1)、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。

  (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 要求的文件描述符的数量。这个数字应该增加,否则,你将经常看到 Too many connections 错误。 默认数值是100,我把它改为1024 。

  (5)、record_buffer
  每个进行一个顺序扫描的线程为其扫描的每张表分配这个大小的一个缓冲区。如果你做很多顺序扫描,你可能想要增加该值。默认数值是131072(128K),我把它改为16773120 (16M)

  (6)、sort_buffer
  每个需要进行排序的线程分配该大小的一个缓冲区。增加这值加速ORDER BY或GROUP BY操作。默认数值是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 实现。这是一个比较谨慎的工作,上面的结果也仅仅是我的一些看法,你可以根据你自己主机的硬件情况(特别是内存大小)进一步修改。

my.ini优化设置

高手优化的MYSQL my.ini的1000人在线配置
#This File was made using the WinMySQLAdmin 1.4 Tool
#2004-2-23 16:28:14
#Uncomment or Add only the keys that you know how works.
#Read the Manual for instructions
[mysqld]
basedir=D:/mysql
#bind-address=210.5.*.*
datadir=D:/mysql/data
#language=D:/mysql/share/your language directory
#slow query log#=
#tmpdir#=
#port=3306
set-variable = max_connections=1500
skip-locking
#skip-networking
set-variable = key_buffer=384M
set-variable = max_allowed_packet=1M
set-variable = table_cache=512
set-variable = sort_buffer=2M
set-variable = record_buffer=2M
set-variable = thread_cache=8
# Try number of CPU's*2 for thread_concurrency
set-variable = thread_concurrency=8
set-variable = myisam_sort_buffer_size=64M
#set-variable = connect_timeout=5
#set-variable = wait_timeout=5
server-id = 1
[isamchk]
set-variable = key_buffer=128M
set-variable = sort_buffer=128M
set-variable = read_buffer=2M
set-variable = write_buffer=2M
[myisamchk]
set-variable = key_buffer=128M
set-variable = sort_buffer=128M
set-variable = read_buffer=2M
set-variable = write_buffer=2M
[WinMySQLadmin]
Server=D:/mysql/bin/mysqld-nt.exe
重启一下MYSQL服务就OK了

走马灯,图片滚动代码

  <div id=demo style=overflow:hidden;height:94;width:300;color:#ffffff>
<table align=left cellpadding=0 cellspace=0 border=0 width:300>
    <tr>
      <td id=demo1 valign=top><img src="zs/1.jpg" width="70" height="50" border="0" hspace="1" /><img src="zs/2.jpg" width="70" height="50" border="0" hspace="3" /><img src="zs/3.jpg" width="70" height="50" border="0" hspace="3" /><img src="zs/4.jpg" width="70" height="50" border="0" hspace="3" /><img src="zs/5.jpg" width="70" height="50" border="0" hspace="3" /><img src="zs/6.jpg" width="70" height="50" border="0" hspace="3" /><img src="zs/7.jpg" width="70" height="50" border="0" hspace="3" /><img src="zs/8.jpg" width="70" height="50" border="0" hspace="3" /><img src="zs/9.jpg" width="70" height="50" border="0" hspace="3" /></td>
      <td id=demo2 valign=top></td>
    </tr>
</table>
</div>

<script>
var speed=30
demo2.innerHTML=demo1.innerHTML
function Marquee(){
if(demo2.offsetWidth-demo.scrollLeft<=0)
demo.scrollLeft-=demo1.offsetWidth
else{
demo.scrollLeft++
}
}
var MyMar=setInterval(Marquee,speed)
demo.onmouseover=function() {clearInterval(MyMar)}
demo.onmouseout=function() {MyMar=setInterval(Marquee,speed)}
</script>

图片链接改成自己的。

什么是网站架构师

架构师是软件行业中一种新兴职业,工作职责是在一个软件项目开发过程中,将客户的需求转换为规范的开发计划及文本,并制定这个项目的总体架构,指导整个开发团队完成这个计划。架构师的主要任务不是从事具体的软件程序的编写,而是从事更高层次的开发构架工作。他必须对开发技术非常了解,并且需要有良好的组织管理能力。可以这样说,一个架构师工作的好坏决定了整个软件开发项目的成败。

软件架构师实际上就是软件的总体设计师。首席设计师就是总设计师,打个通俗的比方:邓小平是中国改革开放的总设计师,我们用现在的说法可以讲,邓小平是中国改革开放的首席架构师。架构师的形成一定是在实践中积累起来的,而并非上了几次培训班,读了几本书就可以成功的,架构师是在工程实践中培养出来的!

架构师也并非是万能的。架构师是客户需求和开发者之间的桥梁。在软件行业中,一般提到的架构师是技术架构师,而忽略了领域架构师或者讲是领域工程师的概念。一个好的领域专家一定是业务领域的架构师,他能够给出某一个业务领域的架构,我们可以称为业务架构,只有技术架构和业务架构紧密结合才有可能真正创造出一个好的系统!

架构师,首先让我想起的是高楼大厦的设计人员,通常一座大厦在建之前,都先由设计师将蓝图描绘出来,包括其形状、结构、尺寸、材料等等,然后建筑工程师带领工人们按照蓝图将大厦一层一层地建起来。

近年来,软件领域也渐渐地流行起架构师的角色,特别是对一些大型软件产品或项目的开发,这一角色显得很关键,因为缺乏好的软件架构师而导致项目失败的例子不胜枚举,一个没有经验和能力的架构师也会使项目失败的速度加快。

'localhost' (10061) mysql Errno.: 2003

如果出现"ERROR 2003: Can't connect to server on 'localhost' (10061)", 说明你的MySQL还没有启动。

解决办法:

第一步
删除c:windowns下面的my.ini

第二步
打开c:mysqlinwinmysqladmin.exe 输入用户名 和密码

第三步 在dos下 输入 mysqld-nt -remove 删除服务
在接着输入 mysqld-nt -install

第四步 输入mysql 启动成功

IPv4地址和IPv6地址

Internet依靠TCP/IP协议,在全球范围内实现不同硬件结构、不同操作系统、不同网络系统的互联。在Internet上,每一个节点都依靠惟一的IP地址互相区分和相互联系。每个IP地址都包含两部分:网络ID和主机ID,网络ID标识在同一个物理网络上的所有宿主机,主机ID标识该物理网络上的每一个宿主机,于是整个Internet上的每台计算机都依靠各自惟一的IP地址来标识。IP地址构成了整个Internet的基础,从网络的层次结构考虑,一个IP地址必须指明两点:1)属于哪个网络,2)是这个网络中的哪台主机,于是,IP地址的格式为:网络号、主机号。

下面我简要说明一下现行的IPv4地址和正在推行的IPv6地址的相关基础知识。

1、IPv4地址

目前因特网使用的地址都是IPv4地址,32比特,通常用4个点分十进制数表示。为了给不同规模的网络提供必要的灵活性,IP的设计者将IP地址空间划分为几个不同的地址类别,地址类别的划分就针对于不同大小规模的网络。

A类网:网络号为1个字节,定义最高比特为0,余下7比特为网络号,主机号则有24比特编址。用于超大型的网络,每个网络有16777216(224)台主机(边缘号码如全“0”或全“1”的主机有特殊含义,这里没有考虑)。全世界总共有128(27)个A类网络,早已被瓜分完了。

B类网:网络号为2字节,定义最高比特为10,余下14比特为网络号,主机号则可有16比特编址。B类网是中型规模的网络,总共有16384(214)个网络,每个网络有65536(216)台主机(同样忽略边缘号码),也已经被瓜分完了。

C类网:网络号为3字节,定义最高三比特为110,余下21比特为网络号,主机号仅有8比特编址。C类地址适用的就是较小规模的网络了,总共有2097152(221)个网络号码,每个网络有256(28)台主机(同样忽略边缘号码)。

D类网:不分网络号和主机号,定义最高四比特为1110,表示一个多播地址,即多目的地传输,可用来识别一组主机。

如何识别一个IP地址的属性?只需从点分法的最左一个十进制数就可以判断其归属。例如,1~126属A类地址,128~191属B类地址,192~223属C类地址,224~239属D类地址。除了以上四类地址外,还有E类地址,但暂未使用。

对于因特网IP地址中有特定的专用地址不作分配:

(1)主机地址全为“0”。不论哪一类网络,主机地址全为“0”表示指向本网,常用在路由表中。

(2)主机地址全为“1”。主机地址全为“1”表示广播地址,向特定的所在网上的所有主机发送数据包。

(3)四字节32比特全为“1”。若IP地址4字节32比特全为“1”,表示仅在本网内进行广播发送。

(4)网络号127。TCP/IP协议规定网络号127不可用于任何网络。其中有一个特别地址:127.0.0.1称之为回送地址(Loopback),它将信息通过自身的接口发送后返回,可用来测试端口状态。

2、IPv6地址

IPv6地址的长度为128位,也就是说可以有2的128次方的IP地址,相当于10的后面有38个零;如此庞大的地址空间,足以保证地球上每个人拥有一个或多个IP地址。

(1)IPv6地址类型

在RFC1884中指出了三种类型的IPv6地址,他们分别占用不同的地址空间:

* 单点传送:这种类型的地址是单个接口的地址。发送到一个单点传送地址的信息包只会送到地址为这个地址的接口。

* 任意点传送:这种类型的地址是一组接口的地址,发送到一个任意点传送地址的信息包只会发送到这组地址中的一个(根据路由距离的远近来选择)

* 多点传送:这种类型的地址是一组接口的地址,发送到一个多点传送地址的信息包会发送到属于这个组的全部接口。

(2)IPv6地址表示

对于128位的IPv6地址,考虑到IPv6地址的长度是原来的四倍,RFC1884规定的标准语法建议把IPv6地址的128位(16个字节)写成8个16位的无符号整数,每个整数用四个十六进制位表示,这些数之间用冒号(:)分开,例如:3ffe:3201:1401:1:280:c8ff:fe4d:db39

希望手工管理IPv6地址的难度太大了,DHCP和DNS的必要性在这里显得更加明显。为了简化IPv6的地址表示,只要保证数值不变,就可以将前面的0省略。

比如:1080:0000:0000:0000:0008:0800:200C:417A

可以简写为:1080:0:0:0:8:800:200C:417A

另外,还规定可以用符号::表示一系列的0。那么上面的地址又可以简化为:1080::8:800:200C:417A

IPv6地址的前缀(FP, Format Prefix)的表示和IPv4地址前缀在CIDR中的表示方法类似。比如 0020:0250:f002::/48表示一个前缀为48位的网络地址空间。

(3)IPv6地址分配

RFC1881规定,IPv6地址空间的管理必须符合Internet团体的利益,必须是通过一个中心权威机构来分配。目前这个权威机构就是IANA(Internet Assigned Numbers Authority,Internet分配号码权威机构)。 IANA会根据IAB(Internet Architecture Board)和IEGS的建议来进行IPv6地址的分配。

目前IANA已经委派以下三个地方组织来执行IPv6地址分配的任务:

* 欧洲的RIPE-NCC(www.ripe.net)

* 北美的INTERNIC(www.internic.net)

* 亚太平洋地区的APNIC(www.apnic.net)

ASP.net Server Application Unavailable错误

Server Application Unavailable
The web application you are attempting to access on this web server is currently unavailable.  Please hit the "Refresh" button in your web browser to retry your request. Administrator Note: An error message detailing the cause of this specific request failure can be found in the application event log of the web server. Please review this log entry to discover what caused this error to occur.
解决方法如下:
1、找到安装Framework的文件夹的CONFIG文件夹,一般就是下面的路径:
C:WINDOWSMicrosoft.NETFrameworkv2.0.50727CONFIG
2、在这个路径中找到machine.config这个文件打开,最好用UltraEdit-32或文本编辑器打开
3、查找<processModel autoConfig="true" />这一项
4、找到后修改成:
<processModel userName="machine" password="AutoGenerate" autoConfig="true" />
5、如果还不行则说明权限不够,可改成:
<processModel userName="SYSTEM" password="AutoGenerate" autoConfig="true" />6、创建ASPNET用户,设置好口令,并将ASPNET用户添加到Administrators组中;
7、启动cmd.exe,然后执行以下命令:
runas /profile /user:ASPNET cmd.exe
aspnet_regiis -i 执行以上命令时需要输入你创建用户的口令.
8、将ASPNET用户从Administrators组中删除;将其用户设为Guests用户组中。为了安全起见,最好将ASPNET用户从所有的用户组中删除,不赋予其任何权限。
9、重启IIS即可 。或者重启系统。

明网空间倒下了?

    以前好像貌似他这个信誉和口碑还不错的,不过就这么一下子倒下了。诶,这个互联网的事情,谁也说不好。让谁倒,谁就能一下子倒。他倒下了,就苦了一大堆可怜的站长,站几天没开基本就死了。站长的权力不知道谁能来保护。。辛苦 辛苦、、、

CSS控制图片自适应宽带,自动适应宽度

fit-image{ 
  border  :0; 
  max-width:500px; 
}

500PX 当图片大于500PX时,自动缩小到 500PX,Firefox/Opera/IE7支持,IE6不支持

下面的是 方法

fit-image{ 
  border  :0; 
  max-width:500px; 
  width:   expression( 
   function(img){ 
    img.onload=function(){ 
     this.style.width=’’; 
     this.style.width=(this.width>500)?"500px":this.width+"px" 
    }; 
    return’120px’ //加载时显示宽度为120px 
   }(this) 
  ); 
}

可以支持