参考地址:《深入理解node.js异步编程:基础篇》 一、概述 目前开源社区最火热的技术当属 Node.js 莫属了,作为使用 Javascript 为主要开发语言的服务器端编程技术和平台,一开始就注
一、网站性能测试 (1)性能测试指标:①响应时间;②并发数;③吞吐量;④性能计数器; (2)性能测试方法:①性能测试;②负载测试;③压力测试;④稳定性测试; (3)性能优化策略: ①性能分析:检查请求处理各个环节的日志,分析哪个环节响应时间不合理,检查监控数据分析影响性能的因素; ②性能优化:Web前端优化,应用服务器优化,存储服务器优化; 二、Web前端性能优化 (1)浏览器访问优化: ①减少http请求:因为http是无状态的,每次请求的开销都比较昂贵(需要建立通信链路、进行数据传输,而服务器
此篇已收录至《大型网站技术架构》读书笔记系列目录贴,点击访问该目录可获取更多内容。
Node.js 小知识 记录一些工作中或 “Nodejs技术栈” 交流群中大家遇到的一些问题,有时一个小小的问题背后也能延伸出很多新的知识点,解决问题和总结的过程本身也是一个成长的过程,在这里与大家共同分享成长。
Stream 在 Node.js 中是一个被广泛应用的模块,流的两端可读流、可写流之间通过管道链接,通常写入磁盘速度是低于读取磁盘速度的,这样管道的两端就会产生压力差,就需要一种平衡的机制,使得平滑顺畅的从一个端流向另一个端。
从开发文件到生产文件 有一天我突然意识到一个问题,在使用react框架搭建应用时,我使用到了sass/less,JSX模版以及ES6的语法在编辑器下进行开发,使用这些写法是可以提高开发的效率。可是浏览
有一天我突然意识到一个问题,在使用react框架搭建应用时,我使用到了sass/less,JSX模版以及ES6的语法在编辑器下进行开发,使用这些写法是可以提高开发的效率。可是浏览器它本身是并不能够“理解”这些语法的呀。就像下面这张图:
3.进入用户目录,找到.bashrc文件,文件末尾添加以下代码(例如/usr/.bashrc)
摘要: 使用RabbitMQ的消息队列,可以有效提高系统的峰值处理能力。 RabbitMQ简介 RabbitMQ是消息代理(Message Broker),它支持多种异步消息处理方式,最常见的有: W
对于日志,一般需要 4 个要素:时间、级别、位置、内容、上下文信息。对于集群或者多台机器来说,日志还需要区分不同机器的唯一标识。
项目中使用的是mongodb数据库,在测试数据入库的时候,会根据源数据,然后生成一个自增的id到数据库里面,然后线上和测试环境针对同一条数据的id是不一致的。某些数据又只有id与线上匹配上的时候,才能关联上更多的数据,因此,我会去写一个脚本将同一条数据,将测试环境的id改成和线上的一致。但可能由于脚本写的还不够完善,导致数据库里面可能会写入一些重复id的记录进去,然后id又没有加唯一索引。有重复的数据又会导致正常执行etl任务会报错,因此,需要查询出在mongodb里面某个字段重复的记录。
一、 管理工具集 数据迁移 Mongoexport:用于针对colletions的数据导出,或者打开单个字段。 Mongodbimport:与只对应,这个表示在导出的基础上导入。 数据库的备份恢复 Mongodump:数据库全备份。 Mongostore:还原数据库。可以没有数据库的存在 db.runCommand({“fsync”:1,”lock”:1}):清空所有挂起操作和锁定。 db.$cmd.sys.unlock.findOne(); //解锁 db.currentOp(); //确保锁被释放了
点击上方蓝字每天学习数据库 本文作者:黄稚禹,腾讯云数据库产品经理。曾任职新浪彩票数据库总监,精通金融系统的数据运维体系架构。之前为腾讯视频、腾讯新闻、企鹅号、财经自选股等业务的数据平台总负责人。 ---- 大家都知道很多关于MySQL Server相关的优化技巧,比如:MySQL参数配置优化、MySQL的SQL语句优化、MySQL的schema设计优化。但却对运行MySQL的操作系统和硬件优化有所忽略。本文从Linux操作系统和服务器硬件的角度来说下关于MySQL的优化技巧,如果在MySQL Serve
webpack 在前端工程领域起到了中流砥柱的作用,理解它的内部实现机制会对你的工程建设提供很大的帮助(不论是定制功能还是优化打包)。
只要是位正儿八经的程序员自然知道「缓存」是什么,甚至我司的很多做运营的小姐姐现在和程序员小哥哥的交流中都时不时冒出「缓存」字眼,让人压力山大
| 导语 本文详细分析redis持久化的俩种模式的详细流程 一. 概述redis持久化的俩种模式 随着redis越来越流行,使用者不在仅仅满足其只是一个内存数据库,同时也期望其能将内存数据落磁盘,这样重启服务就不会导致缓存数据丢失了 redis持久化有俩种模式模式,分别如下: 二. rdb持久化模式 1.rdb持久化核心思路 获取当前内存快照并将快照数据保存到磁盘实现当前数据全量备份 2.rdb持久化难点 (1)如何获取当前内存数据快照 redis利用linux fork子进程后( cow机制:htt
很长时间没有更新原创文章了,但是还一直在思考和沉淀当中,后面公众号会更频繁地输出一些前端工程相关的干货,希望对大家有一些启发,也希望在实际的工作当中帮助大家提升效率。
只要是位正儿八经的程序员应该都知道“缓存”是什么,甚至我司的很多做运营的小姐姐现在和程序员小哥哥交流中都时不时冒出“缓存”这个词,让人压力山大。
一、网络问题 1、临时性 检查:ping, mtr,dig,dig+trace 等命令,检查网络状况,DNS等 解决:联系机房或视具体情况而定 eg:http://ping.chinaz.com/ 查看各地响应时间 2、网络不同或距离太远 检查:客户端和机房所在网络情况 解决:双线机房或分布式部署,动态DNS,需要考虑成本 3、资源加载慢 检查:chrome控制台 解决:CDN,合并请求,压缩页面代码,多域名请求(http协议中有对浏览器并发请求连接数的限制,IE是10,火狐 chrome是6)等 二、前端
我们都知道,Vite 在生产环境中,会使用 Rollup 进行构建,那么 Vite 是如何做到的呢?本文将讲述,从执行 vite build 到输出构建产物,这期间到底发生了什么?
众所周知, Java 在处理数据量比较大的时候,加载到内存必然会导致内存溢出,而在一些数据处理中我们不得不去处理海量数据,在做数据处理中,我们常见的手段是分解,压缩,并行,临时文件等方法;
本文由腾讯云+社区自动同步,原文地址 http://blogtest.stackoverflow.club/96/
webpack作为最使用最广泛的前端打包工具,已经成为前端工程化基础设施的一部分。
yamot是一款功能强大的基于Web的服务器安全监控工具,专为只有少量服务器的小型环境构建。yamot只会占用非常少的资源,并且几乎可以在任何设备上运行。该工具适用于Linux或BSD,当前版本暂不支持Windows平台。
这里建议先复习一下《再唠叨JS模块化加载之CommonJS、AMD、CMD、ES6》
简单来说,我们可以说Native扩展是一组从JavaScript代码调用C++实现的逻辑。在这一点上,对我们来说,最有趣的是将NodeJS是如何工作的以及它涉及那些部分讲清楚。 重要的是要知道为什么我们可以在NodeJS中使用两种语言(JavaScript和C ++)。
本文作者是来自Percona的支持工程师 Vinodh Krishnaswamy 和 Aayushi Mangal。主要介绍了MongoDB中两个引擎之间的差异,并在文章结尾处给出了表格对比总结。文章由腾讯云数据库团队翻译整理,全文约2050字,阅读需要5分钟。 ---- 在这篇文章中,我们将了解到MongoDB中MMAP和WiredTiger引擎之间的差异。很多客户都咨询过这两个引擎的问题,这篇文章将为你们解决难题。我们将告诉您这些引擎的主要特性,您可以根据自己的需求选择合适的引擎。 在MongoDB中
点击上方蓝字每天学习数据库 | 本文作者:游成松,腾讯云数据库后台开发,负责腾讯云数据库CTSDB产品的设计、研发、运维等工作。曾负责腾讯云数据库SQLServer、PostgreSQL、TDSQL、Tbase、CynosDB产品的研发工作。 ---- 一个理想的查询过程中,新增加或者修改的数据应该能立即被查询到。腾讯时序数据库CTSDB给人的第一印象好像就是如此工作的,而事实上并非如此。那它实际情况是怎么样的呢? 在进行说明之前先大概介绍一下CTSDB处理请求的流程。 在CTSDB和磁盘之间有一层Fi
最近用python爬取了某东上的x款bra的用户评论,然后进行了size、color分析,直接上图:
在一开始我仅仅对 Node.js 这个技术栈比较感兴趣,但是随着项目的进行,我发现 Node.js 也仅仅是后台服务开发的冰山一角,你需要考虑的更多,需要对很多的技术领域进行学习,它们可能并不是你感兴趣的,例如 CICD、日志传输、火焰图分析、分布式架构设计,但是只要坚持下去,你会发现很多有趣的 idea,本文也是希望将自己的探索之路分享给大家,亦作参考。 Node.js 目前已经诞生了 11 年,相信各位前端爱好者或多或少已经学习或者实践过了。一般当 Node.js 项目成长到一定阶段后,就不可避免要遇到
本文从操作系统的角度来解释BIO,NIO,AIO的概念,含义和背后的那些事。本文主要分为3篇。 第一篇 讲解BIO和NIO以及IO多路复用 第二篇 讲解磁盘IO和AIO 第三篇 讲解在这些机制上的一些应用的实现方式,比如nginx,nodejs,Java NIO等 磁盘IO 磁盘IO,简单来说就是读取硬盘一类设备的IO。这类设备包括传统的磁盘、SSD、闪存、CD等。操作系统将其统一抽象为”块设备“。所以磁盘IO又可以叫做”块IO“。这些设备上的数据一般用文件系统来组织,所以又可以成为”文件IO“。本文统
最近在学习 React ,发现有的教程中使用 npm install 的--save 有的使用的是 --save-dev ,我之前对这两个参数的理解也是模糊的,随查阅资料,找到一篇文章,转载过来方便自己以后查阅。
磁盘IO,简单来说就是读取硬盘一类设备的IO。这类设备包括传统的磁盘、SSD、闪存、CD等。操作系统将其统一抽象为”块设备“。所以磁盘IO又可以叫做”块IO“。这些设备上的数据一般用文件系统来组织,所以又可以成为”文件IO“。本文统一用”磁盘IO“这个术语。
gulp是前端开发过程中一种基于流的代码构建工具,是自动化项目的构建利器;她不仅能对网站资源进行优化,而且在开发过程中很多重复的任务能够使用正确的工具自动完成;使用她,不仅可以很愉快的编写代码,而且大大提高我们的工作效率。
许多年前,一个名叫Shay Banon的开发者,带着新婚妻子去伦敦生活,在得知妻子想从事厨师工作后,准备利用自己所学为妻子开发一个食谱搜索引擎,他开始使用Lucene的一个早期版本。但是尝试之后,他发现直接使用Lucene给没有任何开发经验的妻子而言是非常困难的,因此Shay 开始对Lucene进行封装。不久他发布了他的第一个基于Lucene的用java编写的开源项目 Compass。后来Shay找到了一份跟高性能和分布式有关的工作,然后发现这份工作对实时、分布式搜索引擎的需求尤为突出,于是他决定重写Compass,把它变为一个独立的服务并取名Elasticsearch,再到后来Elasticsearch发布了第一个公开版本,从此以后,Elasticsearch已经成为了 Github 上最活跃的开源项目之一。据说,Shay的妻子还在等着她的食谱搜索引擎,而他已经在大公司忙的“一发不可收拾”…
redis.conf中的appendfysnc是对redis性能有重要影响的参数之一。可取三种值:always、everysec和no。
MongoDB是一款为web应用程序和互联网基础设施设计的数据库管理系统。没错MongoDB就是数据库,是NoSQL类型的数据库。
因为微软默认禁用了互联网下载文件的宏代码,攻击者在恶意软件分发中开始越来越多地使用磁盘镜像文件(如 ISO 和 VHD)。近期,研究人员发现攻击者在利用 VHD 文件分发 ChromeLoader。从文件名来看,攻击者将恶意软件伪装到任天堂和 Steam 游戏的破解版中。如下所示,一些游戏是付费游戏。 【分发的文件名】 利用文件名在 Google 上进行检索,可以发现多个分发恶意软件的网站。其中都部署了大量的破解版游戏与破解版付费应用程序,从任何一个来源下载非法程序都会中招。 【搜索引擎结果】 例如点击
WEB前端性能优化:减少http请求,合并CSS、合并JavaScript、合并图片。使用浏览器缓存。启用压缩。CSS放页面最上面,JS放页面最下面。减少Cookie传输。CDN加速。反向代理。
I/O 问题是任何编程语言都无法回避的问题,可以说 I/O 问题是整个人机交互的核心问题,因为 I/O 是机器获取和交换信息的主要渠道。在当今这个数据大爆炸时代,I/O 问题尤其突出,很容易成为一个性能瓶颈。正因如此,所以 Java 在 I/O 上也一直在做持续的优化,如从 1.4 开始引入了 NIO,提升了 I/O 的性能。关于 NIO 我们将在后面详细介绍。
比如由单个 WEB 服务器来响应用户请求,改为通过 Nginx 等负载均衡工具将请求分发到多台服务器。
之前本来是用的nas配置znc,znc挂载irc 7*24小时在线,然后是用kiwiirc.com/web客户端连接znc水irc,但是这两天kiwiirc连接znc不是很稳定,经常掉线。然后用hexchat客户端连接znc很稳定,但是hexchat使用体验我不是很满意,最主要的是他不是web,不可以使用浏览器的一键翻译。
搜索操作系统自身的DNS缓存(浏览器没有找到缓存或缓存已经失效)
原文链接:http://blog.51cto.com/dreamlinux/1945705
上周组内技术分享我选择了ClickHouse这个主题,对我来说,是个纯新的技术,从零开始,无论是原理理解上,还是环境搭建,碰到了很多问题,顶多是踉踉跄跄踏入了ClickHouse,
领取专属 10元无门槛券
手把手带您无忧上云