米拉
2008-11-24 17:37
还是希望张兄能给我们多介绍点 大公司的先进技术。
张宴 回复于 2008-11-27 08:53
有些技术属于机密,抱歉,无法透露。不过常用的开源技术还是可以介绍的。
一流的技术!我很佩服你!
代启蒙
2008-11-23 16:14
学长,你好,我是中南民族大学2009届即将毕业的,也即将加入新浪php开发,学长多多指教,我的个人网站www.xxfsw.com,有劳加个友情链接
VPS使用者
2008-11-21 22:34
VPS上面用APMServ随着长时间系统不和服务不重启 内存无法释放 越用越多
我VPS内存512M 用一个星期后 内存会满的
而如果是自己手动配置IIS+PHP+MYSQL则不会出现这个问题 顶多300M左右
这个问题能解决吗 以前在自己电脑测试喜欢用APMServ,简单易用,方便。
希望能解决VPS上内存回收释放的问题。
我VPS内存512M 用一个星期后 内存会满的
而如果是自己手动配置IIS+PHP+MYSQL则不会出现这个问题 顶多300M左右
这个问题能解决吗 以前在自己电脑测试喜欢用APMServ,简单易用,方便。
希望能解决VPS上内存回收释放的问题。
以下是以前你回答我的问题
----------------------------------------------------------
Tokyo Cabinet是key-value的数据库,虽然速度非常快,但一些复杂的关系查询没法进行,除非你对其进行二次开发。
使用MySQL数据库,可以按小说ID进行分表。
例如:
1、一台服务器上可以在不同端口开多个MySQL进程(一般4~5个为好);
2、MySQL数据库主库作只写操作,辅库作只读操作;
3、相对独立的模块用到的数据库,分布在不同端口的MySQL服务器上;
4、关联性稍强的每类功能,在同一台MySQL服务器上建立不同的数据库,每个数据库中包含一张总表,多张分表。
例如下图的结构:
(1)、这是一张用户信息库,分为1张总表tb_user_total,256张分表tb_user_00~tb_user_ff,总用户数超过1千万。
(2)、总、分表的结构完全一样。每次写数据库时,都写总表,同时根据userid进行哈希,确定其对应的分表,再将数据写入分表。
(3)、总表中的记录多达1千多万条,而经过分表哈希后,每张分表中的记录只有4.5万条。查询分表的速度要比查询总表快得多,如果只是查询一个用户的相关信息,只查分表就可以得到。
(4)、但是,有些数据不得不查总表,比如统计、排名等。这可以在后台守护进程中,或者在crontab中定时运行程序,查询总表,分析出这些数据,存入别处。
(5)、生成256个分表00~ff的算法示例:
例1:
<?php
function table_name($v)
{
$str = md5($v);
$tmp = $str{1}.$str{2};
return $tmp;
}
?>
例2:
<?php
function table_name($u)
{
$n = 256;
$h = sprintf("%u", crc32($u));
$h1 = intval($h / $n);
$h2 = $h1 % $n;
$h3 = base_convert($h2, 10, 16);
$h4 = sprintf("%02s", $h3);
return $h4;
}
?>
-----------------------------------------------------------------------
不懂的问题
如果只是查询一个用户的相关信息,只查分表就可以得到。那如何知道这个用户在那个分表下呢?
----------------------------------------------------------
Tokyo Cabinet是key-value的数据库,虽然速度非常快,但一些复杂的关系查询没法进行,除非你对其进行二次开发。
使用MySQL数据库,可以按小说ID进行分表。
例如:
1、一台服务器上可以在不同端口开多个MySQL进程(一般4~5个为好);
2、MySQL数据库主库作只写操作,辅库作只读操作;
3、相对独立的模块用到的数据库,分布在不同端口的MySQL服务器上;
4、关联性稍强的每类功能,在同一台MySQL服务器上建立不同的数据库,每个数据库中包含一张总表,多张分表。
例如下图的结构:
(1)、这是一张用户信息库,分为1张总表tb_user_total,256张分表tb_user_00~tb_user_ff,总用户数超过1千万。
(2)、总、分表的结构完全一样。每次写数据库时,都写总表,同时根据userid进行哈希,确定其对应的分表,再将数据写入分表。
(3)、总表中的记录多达1千多万条,而经过分表哈希后,每张分表中的记录只有4.5万条。查询分表的速度要比查询总表快得多,如果只是查询一个用户的相关信息,只查分表就可以得到。
(4)、但是,有些数据不得不查总表,比如统计、排名等。这可以在后台守护进程中,或者在crontab中定时运行程序,查询总表,分析出这些数据,存入别处。
(5)、生成256个分表00~ff的算法示例:
例1:
<?php
function table_name($v)
{
$str = md5($v);
$tmp = $str{1}.$str{2};
return $tmp;
}
?>
例2:
<?php
function table_name($u)
{
$n = 256;
$h = sprintf("%u", crc32($u));
$h1 = intval($h / $n);
$h2 = $h1 % $n;
$h3 = base_convert($h2, 10, 16);
$h4 = sprintf("%02s", $h3);
return $h4;
}
?>
-----------------------------------------------------------------------
不懂的问题
如果只是查询一个用户的相关信息,只查分表就可以得到。那如何知道这个用户在那个分表下呢?
张宴 回复于 2008-11-20 11:43
假设用户的UserID为12345,再假设table_name("12345")得出f3,那么就去查tb_user_f3分表。
张老师您好,看了您的nginx的文章受益匪浅,最近遇到一个问题,查了些材料,也去nginx的中文wiki看了下,实在是英文水品有限,没有找到需要的东西,现在想请问下张老师,nginx是否有配置可以定义服务端每次发送数据包的大小。期待您的解答,多谢。
希望能让wml和xwml支持啊....我代表所有希望的谢谢你!