高性能的思考

第一次随笔记录

代码结构可以复用,数据的存储位置不要复用,无论在内存里还是数据库里。表设计时即便是相同的数据,也要按着功能模块分开,不要太在乎冗余(反范式),磁盘是廉价的,因为不同功能模块的并发逻辑涌向一个表时,会被锁表。

而且,一般的业务逻辑不需要事务。如果太在意数据库数据冗余,可以引入nosql

像我上家公司几乎每个逻辑都要读的corp表,要给他建立缓存,memcache或者redis都可以,数据库级别的缓存也可以

时间: 2024-10-07 05:28:19

高性能的思考的相关文章

高性能网站架构的思考 (转)

今天看到了一篇关于网站架构的文章,写的很好,改了改,添加了一些自己的想法: 对于大流量高并发的网站,首先考虑的都是如何用最少的资源处理最多的业务.一般来说,网站架构最初需要考虑三个方面:数据库瓶颈.代码执行效率和服务器端的配置.下面结合项目开发中经验总结一下.        1. 合理设计与使用数据库        对于数据库的瓶颈可以归纳为两点:如何设计高性能的数据库?如何使用设计出来的高性能数据库?        首先,设计数据库之初就应该预估可能产生的数据量和所能承受的压力:该分表的分表,

高性能网站架构的思考

今天看到了一篇关于网站架构的文章,写的很好,改了改,添加了一些自己的想法: 对于大流量高并发的网站,首先考虑的都是如何用最少的资源处理最多的业务.一般来说,网站架构最初需要考虑三个方面:数据库瓶颈.代码执行效率和服务器端的配置.下面结合项目开发中经验总结一下.        1. 合理设计与使用数据库        对于数据库的瓶颈可以归纳为两点:如何设计高性能的数据库?如何使用设计出来的高性能数据库?        首先,设计数据库之初就应该预估可能产生的数据量和所能承受的压力:该分表的分表,

关于的网站高性能的几点思考

最近一直在做一个新的线上业务项目,在所有的前期设计,中期的编写以及后期的上线完成之后,开放给用户使用的时候,发现网站的速度没有自己想象中的那么快!于是在经过大量的调研以及调试之后,终于速度上达到了我们的预期. 下面是我这一个多月收集来的一些信息以及自己的一些思考,再次做些记录. 一. 从浏览器向服务器发起请求来说开: (1).刚开始出现的问题: 刚开始遇到这个速度慢的问题的时候,我在想是不是应该压缩js或者css的一些代码,或者说是加一些内存,加点cache之类的,甚至想到了是不是应该多加点带

高性能WEB开发:重排与重绘

DOM编程可能最耗时的地方,重排和重绘. 1.什么是重排和重绘 浏览器下载完页面中的所有组件--HTML标记.JavaScript.CSS.图片之后会解析生成两个内部数据结构--DOM树和渲染树. DOM树表示页面结构,渲染树表示DOM节点如何显示.DOM树中的每一个需要显示的节点在渲染树种至少存在一个对应的节点(隐藏的DOM元素disply值为none 在渲染树中没有对应的节点).渲染树中的节点被称为"帧"或"盒",符合CSS模型的定义,理解页面元素为一个具有填充

《iOS用户体验》总结与思考-改动版

假设转载此文.请注明出处:http://blog.csdn.net/paulery2012/article/details/25157347,谢谢. 前言: 本文是在阅读<ios用户体验>的过程中,记录的总结和个人的感受思考.不免有错误之处,恳请读者指正,在以下留言就可以. 第一章:ios人机界面指南概述 1.智能手机的特点:大尺寸.高分辨率.强大的计算能力 2.签名交互:滚动轮.导航键.按键和硬键盘.软键盘.触控笔.触屏.输入特性又被称为"签名交互",用户能够通过输入方式

[思考] 高手是怎样的?目前没想出答案

前一阵特别忙,只顾干活没有多余的时间. 这阵子不是那么忙,就有些时间来思考一些问题.今天在纠结一个问题:高手是怎样的? 这个问题其实在前几年也思考过,当时的结论记忆模糊了,但有一点可以肯定的是,目前的自己离当年期望的那个高手肯定近了一些.不然这么多年不是白干了嘛~~ 总结说,就是最近重新思考高手是怎样的? ----------------------------------------------- 想了一个下午没有想到清晰的答案,但一直在思考.尝试着从几个方面思考了: 1. 能满足社会软件行高

对于字节序小端和大端的思考

最近公司处理器要换核,由小端处理器ARM换成大端处理器POWERPC,bootloader以及kernel的移植工作交给了我,这是一个很有挑战的工作,自己也非常兴奋. 如此一来,当今主流的嵌入式处理器(MIPS ARM PPC)也都算接触过啦. 这几天开始动手做移植,首先要解决的是大小端的差异,进过学习思考,感觉大小端还是很有研究的必要,自己的思考总结记录在此,与大家分享,以备后用. 从网上可以查到的大小端的解释,小端是低端数据存放在低端地址,大端是高端数据存在低端地址.大小端真的就这么简单吗,

【JavaScript】【译】编写高性能JavaScript

英文链接:Writing Fast, Memory-Efficient JavaScript 很多JavaScript引擎,如Google的V8引擎(被Chrome和Node所用),是专门为需要快速执行的大型JavaScript应用所设计的.如果你是一个开发者,并且关心内存使用情况与页面性能,你应该了解用户浏览器中的JavaScript引擎是如何运作的.无论是V8,SpiderMonkey的(Firefox)的Carakan(Opera),Chakra(IE)或其他引擎,这样做可以帮助你更好地优

Disruptor——一种可替代有界队列完成并发线程间数据交换的高性能解决方案

本文翻译自LMAX关于Disruptor的论文,同时加上一些自己的理解和标注.Disruptor是一个高效的线程间交换数据的基础组件,它使用栅栏(barrier)+序号(Sequencing)机制协调生产者与消费者,从而避免使用锁和CAS,同时还组合使用预分配内存机制.缓存行机制(cache line).批处理效应(batch effect)来达到高吞吐量和低时延的目标.目前Disruptor版本已经迭代至3.0,本论文是基于Disruptor1.0写就,在新版本中,相对与1.0版本,其核心设计