- 浏览: 27674 次
- 性别:
- 来自: 北京
最新评论
文章列表
最近用loadrunner测试一个php应用的并发(相当于论坛).
客户要求.每秒达到4000-5000并发请求.
提供了8台联想PC..4G内存,双核的CPU. 而且无光驱,又不能上外网.
其中4台用硬盘安装了双系统.CentOS.32位.网口100M.(板载网卡性能差,改用独立的)
4台装loadrunner测试.每台模拟1000用户,thinktime设成0.
1,先单机测试. nginx + php-fpm + mysql
平均:1700hits/s, 800trans/s, CPU 80%多, 内存占用2G左右, 网络90%.
应用加了Cache数据库命中率不高但仍然占了 ...
主表
DROP TABLE IF EXISTS `ts_wiki`;
CREATE TABLE `ts_wiki` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`infotype` tinyint(1) unsigned DEFAULT '4',
`letter` char(1) NOT NULL,
`title` varchar(255) NOT NULL,
`tag` varchar(255) DEFAULT NULL,
`summary` text NOT NULL,
`content` longtext ...
对于一般的数据库全文搜索应用,sphinx还是非常好用的。
搜了几篇文章,对中文的搜索基本上可以归结为2种方法
1,使用coreseek.cn的修改版. 支持中文的分词索引
2,blog.s135.com的方法,中文使用一元索引。在查询分析的时候,再使用中文分词,将词组写在查询语法里。这种方法比较简单,不hack原代码,而且分词也可以选择自己熟悉的方式。不过只支持utf8.(这样才能把单个汉字分出来建索引)
配置成功,记录下来
#
# Minimal Sphinx configuration sample (clean, simple, functional)
#
# ...
http://www.infoworld.com/d/applications/enterprise-social-software-spurs-connections-804
// URL组装 支持不同模式和路由 2010-2-5 更新
function U($url,$params=false,$redirect=false,$suffix=true) {
//普通模式
if(false==strpos($url,'/')){
$url .='//';
}
//填充默认参数
$urls = explode('/',$url);
$app = ($urls[0]) ? $urls[0] : APP_NAME;
$mod = ($urls[1]) ? $urls[1] : 'Index';
$act = ($u ...
初步思路:
根据Tag词频tf/idf等特征,简单计算出一个权重,最后格式化成大小个,附以特殊颜色(随机色/相邻词不同色即可)。
参考资料:
http://www.njphp.cn/bbs/thread-1069-1-1.html
http://www.docin.com/p-9582779.html#docTitle
http://hi.baidu.com/bevan_007/blog/item/98da99d9a1d3072611df9b73.html
待补充.
用起来不习惯,原函数用.代替/,用#代替.
我觉得系统类库和常用类用别名列表导入,引入外部文件,直接引入全称就好了。
/**
+----------------------------------------------------------
* 导入所需的类库 同java的Import
* 本函数有缓存功能
+----------------------------------------------------------
* @param string $class 类库命名空间字符串
+----------------------------------- ...
nginx 源代码分析
2009-09-11 13:44
本文主要简单介绍nginx源码目录结构、程序编译流程、如何构建学习nginx的环境等。
本文以及后续nginx源码分析文章是基于nginx当前(2009-02-27)的稳定版本0.6.35进行的分析,该版本的src目录下共有96615行代码,共记234个源码文件。
注:本系统的文章为本人学习做笔记用,为源码分析,而非模块的编写,可能会存在问题。
1.1 源码目录简述
nginx的源码目录结构层次明确,从自动编译脚本到各级的源码,层次都很清晰,是一个大型服务端软件构建的一个范例。以下是源码目录结构说明:
├─auto ...
<?php
define('SITE_PATH' , '.');
define('CORE_PATH' , './core');
require(CORE_PATH.'/thinksns.php');
//实例化一个网站应用实例
$App = new App();
$App->run();
echo "<hr /> <b>LOAD:</b> ".($GLOBALS['_loadTime']-$GLOBALS['_beginTime'])." , <b>TPL:</b> &q ...
改了改TP,自己用
<?php
//自动获取APP_NAME
function get_app_name() {
if(isset($_GET['app'])){
//判断开放的应用列表,进行必要的应用名过滤
$app_name = strtolower(str_replace(array('/','\\'),'',urldecode($_GET['app'])));
}else{
$app_name = 'thinksns';
}
return $app_name;
}
//自动获取APP_PATH
function get_app_p ...
临时记录
需求:要做PHP程序的自动升级.
方案:对目录进行hash计算,逐层校验。
方法:
文件校验函数
file_hash
或
md5_file
目录校验函数
md5_dir
function MD5_DIR($dir)
{
if (!is_dir($dir))
{
return false;
}
$filemd5s = array();
$d = dir($dir);
while (false !== ($entry = $d->read()))
{
if ($entry != ...