摘要: 用多线程来写,假如你想测试100并发下的情况,你就写一个创建100个线程,然后让他们不停的跑,比如跑1天,或者几个小时,来观察现象,最后得出每秒的处理数, 阅读全文
posted @ 2012-09-14 07:42 安子 阅读(326) 评论(0) 推荐(0)
摘要: 当你发现某个应用连接另外一个应用不太稳定的时候,需要先写一个测试程序,可以是连续循环n次,假如这样没发现问题,线上确实有问题,那就做并发测试,要充分考虑线上环境,比如php前端是不断打开关闭,打开关闭...而且可能是并发的。网络问题我遇到的有两种,一种是建立连接打开慢,一种是拿数慢,当然都是偶尔发生,测试的时候一定要能分清楚是打开慢,还是拿数据慢,这种问题排除程序性能和高并发导致的外,还有可能是系统内核版本问题,或者是交换机问题,这些都要考虑 阅读全文
posted @ 2012-09-14 07:36 安子 阅读(154) 评论(0) 推荐(0)
摘要: 最近用c++实现了分布式并发拿用户动态的功能,效果还不错,由原来的1秒左右到现在的20毫秒左右具体需求是这样的:一个用户A关注了500个用户,a需要显示500个用户的及时动态并按时间排序,分页等,开始考虑后端异步推的模式就是为每个用户的粉丝生成动态,考虑到粉丝可能很多,明显这样做及时性差点,主要是会浪费机器资源,还不跟直接去拿,需要多少就拿多少,让多个机器同时去拿具体实现:首先分成两个进程,进程a负责拿到用户的关注者列表,并分拆成几分,利用多线程,信号量,发送给多个进程b,信号量是允许多个线程同时进入临界区的,这里是并发的概念然后进程b也是同样利用多线程,信号量来并发取数据,这里实现了一个线程 阅读全文
posted @ 2012-09-14 07:20 安子 阅读(372) 评论(0) 推荐(0)
摘要: 段落比较乱,不过内容还是挺适合初学者的,呵呵全部内容请看这里http://www.gnu.org/prep/standards/html_node/index.html轻轻松松产生 Makefile 在 Unix 上写程序的人大概都碰过 Makefile,尤其是用 C 来开发程序的 人。用 make 来开发和编译程序的确很方便,可是要写出一个 Makefile 就不简单了。偏偏介绍 Makefile 的文件不多,GNU Make 那份印出来要几 百页的文件,光看完 Overview 就快阵亡了,难怪许多人闻 Unix 色变。 本文将介绍如何利用 GNU Autoconf 及 ... 阅读全文
posted @ 2011-12-12 16:09 安子 阅读(564) 评论(0) 推荐(0)
摘要: gogogogo 阅读全文
posted @ 2011-11-15 20:13 安子 阅读(126) 评论(0) 推荐(0)
摘要: 转到。。 阅读全文
posted @ 2011-11-02 15:28 安子 阅读(146) 评论(0) 推荐(0)
摘要: 下载 阅读全文
posted @ 2011-11-02 15:16 安子 阅读(121) 评论(0) 推荐(0)
摘要: InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,需要视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持以及外部键等高级数据库功能。 以下是一些细节和具体实现的差别: ◆1.InnoDB不支持FULLTEXT类型的索引。 ◆2.InnoDB 中不保存表的具体行数,也就是说,执行select count(*) from table时,InnoDB要扫描一遍整个表来计算有多少行,但是MyISAM只 阅读全文
posted @ 2011-08-17 15:48 安子 阅读(492) 评论(2) 推荐(0)
摘要: 转自:http://blog.sina.com.cn/s/blog_4586764e0100o9s1.html1 使用explain语句去查看分析结果,如 explain select * from test1 where id=1;会出现:id selecttype table type possible_keys key key_len ref rows extra各列其中,type=const表示通过索引一次就找到了,key=primary的话,表示使用了主键 type=all,表示为全表扫描,key=null表示没用到索引;type=ref,因为这时认为是多个匹配行,在联合查询中,一般 阅读全文
posted @ 2011-08-17 14:57 安子 阅读(647) 评论(0) 推荐(0)
摘要: 转自:http://www.cublog.cn/u3/90603/showart_2050861.htmlCalculate index sizesmysql> SELECT CONCAT(ROUND(SUM(index_length)/(1024*1024*1024), 2), ' GB') AS 'Total Index Size' FROM information_schema.TABLES WHERE table_schema LIKE 'database';+------------------+ | Total Index Si 阅读全文
posted @ 2011-08-17 14:34 安子 阅读(409) 评论(0) 推荐(0)