Archive for the ‘Web’ category

test livefyre~

November 6th, 2011

见评论呵呵

  • Share/Save/Bookmark

关于中文的几个编码GB2312、GBK、GB18030、GB13000

May 31st, 2011

1、 GB2312

GB2312(1980年)一共收录了7445个字符,包括6763个汉字和682个其它符号。汉字区的内码范围高字节从B0-F7,低字节从A1-FE,占用的码位是72*94=6768。其中有5个空位是D7FA-D7FE。

在windows中的代码页是CP936
2、 GBK

GBK最初是由微软对GB2312的扩展,也就是CP936字码表 (Code Page 936)的扩展(原来的CP936和GB 2312-80一模一样),最初出现于Windows 95简体中文版中,由于Windows产品的流行和在大陆广泛被使用,中华人民共和国国家有关部门将其作为技术规范。注意GBK并非国家正式标准,只是国家技术监督局标准化司、电子工业部科技与质量监督司发布的“技术规范指导性文件”。虽然 GBK收录了所有Unicode 1.1及GB 13000.1-93之中的汉字,但是编码方式与Unicode 1.1及GB 13000.1-93不同。仅仅是GB 2312到GB 13000.1-93之间的过渡方案。GBK收录了21886个符号,它分为汉字区和图形符号区。汉字区包括21003个字符。

GBK作为对GB2312的扩展,在现在的windows系统中仍然使用代码页CP936表示,但是同样的936的代码页跟一开始的936的代码页只支持GB2312编码不同,现在的936代码页支持GBK的编码,GBK同时也向下兼容GB2312编码。
3、 GB18030

2000年的GB18030取代了GBK1.0的正式国家标准。该标准收录了27484个汉字,同时还收录了藏文、蒙文、维吾尔文等主要的少数民族文字。现在的PC平台必须支持GB18030,对嵌入式产品暂不作要求。所以手机、MP3一般只支持GB2312。

GB18030在windows中的代码页是CP54936。
4、 GB13000

GB13000等同于国际标准的《通用多八位编码字符集 (UCS)》 ISO10646.1,就是等同于Unicode的标准,代码页等等的都使用UTF的一套标准。

从ASCII、GB2312、GBK到GB18030,这些编码方法是向下兼容的,即同一个字符在这些方案中总是有相同的编码,后面的标准支持更多的字符。在这些编码中,英文和中文可以统一地处理。区分中文编码的方法是高字节的最高位不为0。按照程序员的称呼,GB2312、GBK到GB18030都属于双字节字符集 (DBCS)。

转自http://www.cnblogs.com/chnking/archive/2007/08/16/857743.html

  • Share/Save/Bookmark

mysql optimazation-my.cnf

December 15th, 2010

zhua
这里写的不错:http://robbin.javaeye.com/blog/461382

结合硬件配置的一份已经优化好的my.cnf进行说明:

# vi /etc/my.cnf

以下只列出my.cnf文件中[mysqld]段落中的内容,其他段落内容对MySQL运行性能影响甚微,因而姑且忽略。

[mysqld]
port = 3306
serverid = 1
socket = /tmp/mysql.sock

skip-locking # 避免MySQL的外部锁定,减少出错几率增强稳定性。

skip-networking # 开启该选项可以彻底关闭MySQL的TCP/IP连接方式,如果WEB服务器是以远程连接的方式访问MySQL数据库服务器则不要开启该选项!否则将无法正常连接!

skip-name-resolve # 禁止MySQL对外部连接进行DNS解析,使用这一选项可以消除MySQL进行DNS解析的时间。但需要注意,如果开启该选项,则所有远程主机连接授权都要使用IP地址方式,否则MySQL将无法正常处理连接请求!

back_log = 384 ########### 我的1G内存没有设置此项使用的默认值 50,目前观察还不错。
# 1. 指定MySQL可能的连接数量,当MySQL主线程在很短的时间内接收到非常多的连接请求,该参数生效,主线程花费很短的时间检查连接并且启动一个新线程。
# 2. back_log参数的值指出在MySQL暂时停止响应新请求之前的短时间内多少个请求可以被存在堆栈中。 如果系统在一个短时间内有很多连接,则需要增大该参数的值,该参数值指定到来的TCP/IP连接的侦听队列的大小。不同的操作系统在这个队列大小上有它自己的限制。
# 3. 注意:试图设定back_log高于你的操作系统的限制将是无效的。默认值为50。对于Linux系统推荐设置为小于512的整数。

key_buffer_size = 256M ########### 我设置的128M,目前观察还不错。
# 只对MyISAM表起作用,指定用于索引的缓冲区大小,增加它可得到更好的索引处理性能。尤其是索引读的速度。
# 1. 对于内存在4GB左右的服务器该参数可设置为256M或384M。
# 2. 另外一个估计key_buffer_size的办法 把你网站数据库的每个表的索引所占空间大小加起来看看, 以此服务器为例:比较大的几个表索引加起来大概125M 这个数字会随着表变大而变大.
# 3. 一般我们设为16M,实际上稍微大一点的站点 这个数字是远远不够的,通过检查状态值 Key_read_requests和Key_reads,可以知道key_buffer_size设置是否合理。比例 key_reads / key_read_requests应该尽可能的低,至少是1:100,1:1000更好(上述状态值可以使用SHOW STATUS LIKE ‘key_read%’获得)。
以下的状态值都是本人(hexu.org)通过 Sqlyog 获得的实例分析:
#> SHOW STATUS LIKE ‘key_read%’
##> key_read_requests – 650759289
##> key_reads – 79112
##> 比例接近1:8000 健康状况非常好
# 4. 注意:该参数值设置的过大反而会是服务器整体效率降低!

query_cache_type = 1 # 指定是否使用查询缓冲

query_cache_limit = 2M

query_cache_size = 64M ########### 我的1G内存设置为64M,目前观察还不错。
# 使用查询缓冲,MySQL将Select语句和查询结果存放在缓冲区中,今后对于同样的Select语句(区分大小写),将直接从缓冲区中读取结果。
# 1. 根据MySQL用户手册,使用查询缓冲最多可以达到238%的效率。 指定MySQL查询缓冲区的大小。可以通过在MySQL控制台执行以下命令观察:
#> SHOW VARIABLES LIKE ‘%query_cache%’;
#> SHOW STATUS LIKE ‘Qcache%’;
# 1. 如果Qcache_lowmem_prunes的值非常大,则表明经常出现缓冲不够的情况,同时Qcache_hits的值非常大,则表明查询缓冲使用非常频繁,此时需要增加缓冲大小
# 2. 如果Qcache_hits的值不大,则表明你的查询重复率很低,这种情况下使用查询缓冲反而会影响效率,那么可以考虑不用查询缓冲。此外,在Select语句中加入SQL_NO_CACHE可以明确表示不使用查询缓冲。
# 3. 如果Qcache_free_blocks的值非常大,则表明缓冲区中碎片很多

max_allowed_packet = 4M
#从服务器发送或接收的最大包长度。(默认值是16MB)。
thread_stack = 256K

table_open_cache = 256 ########### 我的1G内存设置为256,目前观察还不错。
#table_open_cache was known as table_cache in MySQL 5.1.2 and earlier.
# 指定表高速缓存的大小。每当MySQL访问一个表时,如果在表缓冲区中还有空间,该表就被打开并放入其中,这样可以更快地访问表内容。
# 1. 对于有1G内存的机器,推荐值是128-256。
# 2. 通过检查峰值时间的状态值Open_tables和Opened_tables,可以决定是否需要增加table_cache的值。
# 3. 如果你发现open_tables等于table_cache,并且opened_tables在不断增长,那么你就需要增加table_cache的值了。
#> SHOW STATUS LIKE ’Open%tables‘;
# 1. Open tables 256
# 2. Opened tables 9046
# 虽然open_tables已经等于table_cache,但是相对于服务器运行时间来说,已经运行了20 天,opened_tables的值也非常低。因此,增加table_cache的值应该用处不大。如果运行了6个小时就出现上述值 那就要考虑增大table_cache
# 4. 注意:不能盲目地把table_cache设置成很大的值。如果设置得太高,可能会造成文件描述符不足,从而造成性能不稳定或者连接失败。

sort_buffer_size = 6M # 查询排序时所能使用的缓冲区大小。
read_buffer_size = 4M # 读查询操作所能使用的缓冲区大小。
join_buffer_size = 8M # 联合查询操作所能使用的缓冲区大小
# 注意:sort/read/join_buffer_size 三个参数对应的分配内存是每连接独占!如果有100个连接,那么实际分配的总共排序缓冲区大小为100 × 6 = 600MB。所以,对于内存在4GB左右的服务器推荐设置为6-8M。

myisam_sort_buffer_size = 64M
table_cache = 512

tmp_table_size = 256M

max_connections = 768
# 指定MySQL允许的最大连接进程数。如果在访问论坛时经常出现Too Many Connections的错误提 示,则需要增大该参数值。

max_connect_errors = 10000000

wait_timeout = 10
# 指定一个请求的最大连接时间,对于4GB左右内存的服务器可以设置为5-10。

thread_cache 32
# 没找到具体说明,不过设置为32后 20天才创建了400多个线程 而以前一天就创建了上千个线程 所以还是有用的

thread_concurrency = 8
# 该参数取值为服务器逻辑CPU数量×2,在本例中,服务器有2颗物理CPU,而每颗物理CPU又支持H.T超线程,所以实际取值为4 × 2 = 8

thread_cache_size = 8
# 默认是 8 ,这个值表示可以重新利用保存在缓存中线程的数量, 当断开连接时:
# 1. 如果缓存中还有空间,那么客户端的线程将被放到缓存中,
# 2. 如果线程重新被请求,那么请求将从缓存中读取,
# 3. 如果缓存中是空的或者是新的请求,那么这个线程将被重新创建,
# 4. 如果有很多新的线程,增加这个值可以改善系统性能.通过比较 Connections 和 Threads_created 状态的变量,可以看到这个变量的作用。
# 5. 根据物理内存设置规则如下:
# Mem: 1G 可以设置为 8
# Mem: 2G 可以设置为 16
# Mem: 3G 可以设置为 32
# Mem: >3G 可以设置为 64

ft_min_word_len = 4 ########### 我的设置为2
#被全文检索索引的最小的字长. 你也许希望减少它,如果你需要搜索更短字的时候. 注意在你修改此值之后,你需要重建你的 FULLTEXT 索引

log-bin = /home/mysql/logs/binlog/mysql-bin
# 如果你不需要记录2进制log 就把这个功能关掉,注意关掉以后就不能恢复出问题前的数据了,需要您手动备份,
# 1. 二进制日志包含所有更新数据的语句,其目的是在恢复数据库时用它来把数据尽可能恢复到最后的状态。
# 2. 另外,如果做同步复制( Replication )的话,也需要使用二进制日志传送修改情况。
# 3. 如果不提供文件名,MySQL将自己产生缺省文件名。MySQL会在文件名后面自动添加数字引,每次启动服务时,都会重新生成一个新的二进制文件。
# 4. 此外说明:
# 1. 使用log-bin-index可以指定索引文件;
# 2. 使用binlog-do-db可以指定记录的数据库;
# 3. 使用binlog-ignore- db可以指定不记录的数据库。
# 注意第一:binlog-do-db和binlog-ignore-db一次只指定一个数据库,指定多个数据库需要多个语句。
# 注意第二:MySQL会将所有的数据库名称改成小写,在指定数据库时必须全部使用小写名字,否则不会起作用。

log_slow_queries = /home/mysql/logs/slowlog/slow.query
# 指定日志文件,如果不提供文件名,MySQL将自己产生缺省文件名。

long_query_time = 2 ########### 我设置的如果查询时间大于 2s,就记录慢查询到log_slow_querys指的文件中

log_long_format
# 打开此项会记录使得那些没有使用索引的查询也被作为到慢速查询附加到慢速日志里
转自:http://blog.hexu.org/archives/583.shtml
log-queries-not-using-indexes
# 打开此项会记录使得那些没有使用索引的查询也被作为到慢速查询附加到慢速日志里

skip-innodb #去掉innodb支持
更多设置可以查看:
1. http://flynndang.javaeye.com/blog/399374
2. http://robbin.javaeye.com/blog/461382
3. http://www.suibing.com/post/158/zhuanzhuan’zzhuan’zi转自:http://blog.hexu.org/archives/583.shtml

  • Share/Save/Bookmark

一些开发常用的网站

September 17th, 2010

http://scriptsrc.net/
http://javascriptcompressor.com/
http://www.csscompressor.com/
http://fordinteractive.com/tools/emchart/
http://colorschemedesigner.com/
http://www.xml-sitemaps.com/
http://browize.com/
http://spoon.net/browsers/
http://tools.pingdom.com/
http://www.mysqlformatdate.com/
http://tester.jonasjohn.de/
http://www.htaccesseditor.com/en.shtml
http://www.phpform.org/
http://twitapi.com/explore/

  • Share/Save/Bookmark

这年头什么都白菜价了么。。。

August 28th, 2009

南北双线,100M独享,九江机房独立机柜,1年8W RMB(相当于只付了电费)
服务器,联想,奥运备用服务器,1台2K RMB(比普通家用电脑还便宜啊啊啊)
真的是白菜价了。。。

好吧,一般人找不到这颗白菜就是了= =

  • Share/Save/Bookmark