Architecture Design
文章平均质量分 56
metasearch
这个作者很懒,什么都没留下…
展开
-
Architecture Design 系列- 0 前言
为了提高自己和总结工作中所遇到的软件architecture, 特写出这个系列,计划用3个月的时间来完成这个系列。 目录如下: Architecture Design 系列- 1 什么是Architecture Architect原创 2011-08-24 17:48:02 · 520 阅读 · 0 评论 -
How to schedule the thread's priority?
1 UI application The user is boss of the application, so the UI thread has highest priority. workerthread has lower priority.· Keep the priorityof worker threads low. · Keep the numberof work原创 2012-08-15 17:35:12 · 642 阅读 · 0 评论 -
UTF8是将Unicode的规定转化为比较省字节的一种存储和传送方式
UTF8并不算是一种电脑编码,而是一种储存和传送的格式,如前所述,每个Unicode/UCS字符都以 2或4个bytes来储存,看看以下的比较: 以"I am Chinese"为例 用ANSI储存:12 Bytes 用Unicode/UCS2储存:24 Bytes + 2 Bytes(header) 用UCS4储存:48 Bytes + 4 Bytes(header)转载 2012-10-02 20:31:01 · 928 阅读 · 0 评论 -
ANSI,ASCII,Unicode的区别与联系
快下班时,爱问问题的小朋友Nico又问了一个问题: "sqlserver里面有char和nchar,那个n据说是指unicode的数据,这个是什么意思。" 并不是所有简单的问题都很容易回答,就像这个问题一样。于是我答应专门写一篇BLOG来从头讲讲编码的故事。那么就让我们找个草堆坐下,先抽口烟,看看夜晚天空上的银河,然后想一想要从哪里开始讲起。嗯,也许这样开始比较好……很久很转载 2012-10-04 09:45:37 · 1366 阅读 · 0 评论 -
High-Performance Request-Handling Programs
1) The C10K problem : http://www.kegel.com/c10k.htmlIntroduce the I/O Strategies (thread/process, block/non-block, level-triggered readiness notification[select/poll]/readiness change notification转载 2012-10-04 21:18:09 · 441 阅读 · 0 评论 -
Multithreaded File I/O
Tackling the file I/O bottleneckStefan is founder of www.RED-SOFT-ADAIR.com, a company that rescues software development projects in a technical crisis. He can be contacted atStefanWoe@gmail.com转载 2013-06-10 10:13:58 · 1588 阅读 · 0 评论 -
I/O Multiplexing & Scalable Socket Servers
The Session Initiation Protocol (SIP) is a signaling protocol for Internet conferencing, telephony, presence, event notification, and instant messaging. I recently had to write a TCP-to-UDP proxy serv转载 2013-06-11 22:59:20 · 887 阅读 · 0 评论 -
并行程序的几点Tips:
这两天在搞多线程并行, 有以下几点体会:1 shared resource 是毒药, 尤其是在频繁需要加锁的时候。当计算的core增多时,其性能扩展不明显2 要尽量用现成的并行framework. .NET的TPL, c++的opencl和amp。这些framework能够形成一个thread pool, 能够根据系统当前的状况自动来schedule最佳的线程数和调度策略,任务原创 2013-06-10 22:37:56 · 681 阅读 · 0 评论 -
Stack Walking in Xperf
Bruce Dawson is a performance analyst on the client performance team. He has written this guest post on enabling stack walking using xperf for both 32-bit and 64-bit Windows systems (Vista and Win7).转载 2013-06-15 14:01:03 · 1660 阅读 · 0 评论 -
XPerf - Windows Performance Toolkit
XPerf - Windows Performance ToolkitEvent Tracing for Windows has been with us since Windows 2000. It is an infrastructure for raising events from various system components, and has only been used b转载 2013-06-15 13:51:08 · 2751 阅读 · 0 评论 -
Welcome to jungle -- Herb Sutter
Welcome to the JungleIn the twilight of Moore’s Law, the transitions to multicore processors, GPU computing, and HaaS cloud computing are not separate trends, but aspects of a single trend – m转载 2013-06-09 13:29:48 · 1705 阅读 · 1 评论 -
大数据工程人员知识图谱
在企业里面从事大数据相关的工作到底需要掌握哪些知识呢?我认为需要从两个角度来看:一个是技术;一个是业务。技术上主要涉及到概率和数理统计,计算机系统、算法和编程等;而业务的角度呢则是因公司业务的不同而异。对于从事大数据的工程人员来说,需要学会使用数据挖掘方法在计算机系统和编程工具的帮助下解决实际的问题,这样才能够在海量数据中挖掘出业务增长的助推剂,才能在激烈的市场竞争中为企业创造更多的价值。因为转载 2013-12-13 10:05:11 · 935 阅读 · 0 评论 -
Socket服务器整体架构概述
Socket服务器主要用于提供高效、稳定的数据处理、消息转发等服务,它直接决定了前台应用程序的性能。我们先从整体上认识一下Socket服务器,Socket服务器从架构上一般分为:网络层、业务逻辑层、会话层、数据访问层,如图: (图1)(一) 网络层网络层主要用于侦听socket连接、创建socket、接受消息、发送消息、关闭连接。作为s转载 2013-12-22 11:33:51 · 885 阅读 · 0 评论 -
多线程队列的算法优化
http://www.parallellabs.com/2010/10/25/practical-concurrent-queue-algorithm/多线程队列(Concurrent Queue)的使用场合非常多,高性能服务器中的消息队列,并行算法中的Work Stealing等都离不开它。对于一个队列来说有两个最主要的动作:添加(enqueue)和删除(dequeue)节点。在转载 2014-01-21 22:17:43 · 926 阅读 · 0 评论 -
进程间的通信(互斥锁、条件变量、读写锁、文件锁、信号灯)
为了能够有效的控制多个进程之间的沟通过程,保证沟通过程的有序和和谐,OS必须提供一定的同步机制保证进程之间不会自说自话而是有效的协同工作。比如在共享内存的通信方式中,两个或者多个进程都要对共享的内存进行数据写入,那么怎么才能保证一个进程在写入的过程中不被其它的进程打断,保证数据的完整性呢?又怎么保证读取进程在读取数据的过程中数据不会变动,保证读取出的数据是完整有效的呢? 常用的同步方式转载 2014-01-22 22:55:57 · 1633 阅读 · 1 评论 -
对条件变量(condition variable)的讨论
semaphorethreadsignalvariableslinuxjavadoc目录(?)[+]作者:王东 1.1 什么是条件变量和条件等待?简单的说:条件变量(condition variable)是利用线程间共享的全局变量进行同步的一种机制,主要包括两个动作:一个线程等待某个条件为真,而将自己挂起;另一个线程使的条件成立,并通知等待的线程继续。为转载 2014-01-22 22:58:34 · 2329 阅读 · 0 评论 -
多线程编程知识点
1 如何创建一个线程2 如何等待一个线程走完 join()线程间同步3 如何处理资源共享问题 注意加锁的顺序和释放的顺序,不要造成死锁和活锁。4 线程有哪些状态,以及如何转换, 优缺点?在什么场景下应用 线程的状态一般有 Ready, block, running, terminate。 当线程没有工作的可做的时候, 比如消息队列为空了原创 2012-07-11 16:30:42 · 468 阅读 · 0 评论 -
线程池 线程优先级
现在维护的很多后端模块都是采用线程池模型网络服务,经常遇到一些超时等问题,在分析这类问题前先要了解epoll的多线程模型。这个模型下,监听线程负责建立网络连接,将连接放入队列; 工作线程负责从队列中取出连接,网络收发,计算。因此,响应时间取决于四个部分:连接等待建立的时间 + 队列中的时间 + 网络IO时间 + 处理时间。当然我们讨论的前提是CPU没有被完全耗尽的情况。当CPU完全被耗转载 2012-07-18 21:15:25 · 1214 阅读 · 0 评论 -
Multithreading & Concurrent Programming
Java Programming TutorialMultithreading & Concurrent Programming1. IntroductionJava supports single-thread as well as multi-thread operations. A single-thread program has a single entry poi转载 2012-07-18 17:00:14 · 1620 阅读 · 0 评论 -
Architecture Design - 1 What is Architecture
"Software architecture is the structure or structures of a software program, which comprise software elements, and the visible external prop原创 2011-09-28 16:17:17 · 614 阅读 · 0 评论 -
从myspace数据库看分布式系统数据结构变迁
从myspace数据库看分布式系统数据结构变迁从myspace数据库看分布式系统数据结构变迁http://smb.pconline.com.cn/database/0808/1403100.html[08-29 14:33:40]出处:pconline作者:责任编辑:heyaorong MySpace已经成为全球众口皆碑的社区网站之王。尽管一流和营销和管理经验自然是每个IT企转载 2012-01-14 23:06:43 · 896 阅读 · 0 评论 -
大流量、高并发的网站的底层系统架构
大流量、高并发的网站的底层系统架构动态应用,是相对于网站静态内容而言, 是指以c/c++、php、Java、perl、.net等服务器端语言开发的网络应用软件,比如论坛、网络相册、交友、BLOG等常见应用。动态应用系统通 常与数据库系统、缓存系统、分布式存储系统等密不可分。大型动态应用系统平台主要是针对于大流 量、高并发网站建立的底层系统架构。大型网站的运行需要一个可靠、安全、可扩展、转载 2012-01-16 16:30:15 · 813 阅读 · 0 评论 -
由12306.cn谈谈网站性能技术
http://coolshell.cn/articles/6470.html, 作者 陈皓 12306.cn网站挂了,被全国人民骂了。我这两天也在思考这个事,我想以这个事来粗略地和大家讨论一下网站性能的问题。因为仓促,而且完全基于本人有限的经验和了解,所以,如果有什么问题还请大家一起讨论和指正。(这又是一篇长文,只讨论性能问题,不讨论那些UI,用户体验,或是是否把支付和购票下单环节分开转载 2012-01-18 11:05:47 · 611 阅读 · 0 评论 -
A Summary of Jon Louis Bentley's ``Writing Efficient Programs''
A Summary of Jon Louis Bentley's``Writing Efficient Programs''Lawrence A. Crowl29 August 1990This summary of Jon Louis Bentley's book ``Writing Efficient Programs''consists of selected text fr转载 2012-01-31 14:30:16 · 612 阅读 · 0 评论 -
一个学习64位编程的网站
Lessons on development of 64-bit C/C++ applicationshttp://www.viva64.com/en/l/Seven Steps of Migrating a Program to a 64-bit Systemhttp://www.viva64.com/en/a/0042/What advantages do 64-b原创 2012-02-12 20:17:26 · 557 阅读 · 0 评论 -
程序性能优化
卷首语:这个《面试宝典》名字是我一贯的标题党风格,其实在内容上都是很简单、很基础的——都是那种“不知道这些就别出来混”的知识点。所以,高手/牛人可以到此打住了——端咖啡——送客~~~作/译序:此文可能会持续更新直到补充得比较完整为止,有什么要补充的欢迎留言基础原则之万能利器:Profiling如何测量距离?——直尺/游标卡尺/卷尺/etc如何测量电压?——电压表/万用表如何测量转载 2012-03-24 19:00:10 · 560 阅读 · 0 评论 -
为程序员和设计师准备的10个流程图
流程图是一样很有用的工具。它可以用来帮助你做决策,给你一步一步的引导。对于很多复杂的设计和流程来说,流程图是必不可少的。和其他图形一样,流程图让你直观的理解一个流程,甚至有可能帮助你找出流程中的问题或者瓶颈。 这篇文章介绍了10个非常有用的流程图,可以帮助程序员和设计师来做决定。你可以点击放大这些图片。1. 如何使用 HTML5 标签?这个流程图可以帮助你决定什么时候使用什么H转载 2012-03-09 10:57:13 · 692 阅读 · 0 评论 -
MVCC-multi version concurrency control
多版本并发控制原创 2012-03-28 16:47:42 · 461 阅读 · 0 评论 -
Difference IoC container and Factory pattern
1 I would suggest to keep the concepts plain and simple. Dependency Injection is more of a architectural pattern for loosely coupling software components. Factory pattern is just one way to separate t原创 2012-03-30 15:43:18 · 607 阅读 · 0 评论 -
Inversion of Control – An Introduction with Examples in .NET
Inversion of Control – An Introduction with Examples in .NETPosted March 29 2010 in Software architecture . 26 comments.Lately I’ve been giving a couple of presentations on the subject of au转载 2012-03-30 16:52:24 · 605 阅读 · 0 评论 -
Object Oriented Design Pricinple
What is object oriented design? What is it all about? What are it's benefits? What are it's costs? It may seem silly to ask these questions in a day and age when virtually every software developer is转载 2012-03-30 17:27:21 · 644 阅读 · 0 评论 -
10K 高并发问题
当一个TCP server有10k的连接数的时候, 如何处理才能快速处理?这个问题好,很有挑战性。下面多研究研究: 用epoll方式来处理 多线程的Queue, 如何处理?Rabbit MQueue原创 2012-05-29 16:52:07 · 2404 阅读 · 0 评论 -
The C10K problem
The C10K problem[Help save the best Linux news source on the web -- subscribe to Linux Weekly News!]It's time for web servers to handle ten thousand clients simultaneously,don't you think? After a转载 2012-05-30 15:47:58 · 966 阅读 · 0 评论 -
The thread priority in UI application
[Contents][Prev] [Next] [Index]CHAPTER 11 - Writing Responsive User Interfaces with Swing Much of what has been written about GUI design focuses on the layout of controls, the presen转载 2012-07-18 16:56:17 · 860 阅读 · 0 评论 -
Preventing Hangs in Windows Applications
Preventing Hangs in Windows ApplicationsAffected PlatformsClients - Windows 7Servers - Windows Server 2008 R2DescriptionHangs - User PerspectiveUsers like responsive applications. When the转载 2014-03-16 15:17:01 · 1260 阅读 · 0 评论