性能 环境linux kafka
redis georadius源码分析与性能优化
原文地址: https://blog.fanscore.cn/a/51/ 背景 最近接到一个需求,开发中使用了redis georadius命令取附近给定距离内的点。完工后对服务进行压测后发现georadius的性能比预期要差,因此我分析了georadius的源码,并对原始的实现方案进行了优化,总结 ......
linux 基础(10)进程管理
使用 ps 观察程序 ps -l ps程序可以查询当前在运行的进程信息。ps -l可以列出详细的信息,默认仅列出当前 bash 相关的进程。 sudo -i ps -l F S UID PID PPID C PRI NI ADDR SZ WCHAN TTY TIME CMD 4 S 0 2133 2 ......
衡量算法的性能-时空复杂度分析
算法 即存在输入输出,由有限步骤结束的程序. 因此,显而易见,算法并不是指一个单一的标准答案,而是一切能够完成要求的程序都可以称之为算法.但是算法之间根据性能的不同存在差异,评判这个差异的指标就是本篇分享的重点. 评判算法优劣的指标 1.时间复杂度 时间复杂度用O()表示,它的实质是算法的计算次数 ......
前端性能优化百问大杂烩
主要内容为下面几大类:移动端、图片、JavaScript、css、html、页面内容、服务器、cookie。 移动端性能优化: 保持单个文件小于25KB 移动网站页面要求下载资源,如果文件过大,会大大减慢页面加载速度。 打包内容为分段multipart文档 由于HTTP请求每一次都会执行三次握手,每 ......
2023年十款开源测试开发工具推荐(自动化、性能、造数据、流量复制)
1、AutoMeter-API 自动化测试平台 AutoMeter 是一款针对分布式服务,微服务 API 做功能和性能一体化的自动化测试平台,一站式提供发布单元,API,环境,用例,前置条件,场景,计划,报告等管理 在项目开发,迭代交付过程中开发人员,测试人员需要针对系统提供的 API 做调试,回归 ......
美团点评CAT部署了各种环境不下10次,遇到的坑整理
CAT是什么 我的理解是一个收集服务调用等运行情况的监控系统。 相信你能搜到这篇博客我就不多介绍了,这里有链接 传送门 本博客仅仅只帮助大家解决部署方面的问题 来自一个用户的吐槽 1.部署真他娘的困难,坑点太多了。 2.初期部署经常被难住点:源代码拉下来编译不通过 3.mysql版本要求5.7及以下 ......
现代图片性能优化及体验优化指南 - 响应式图片方案
本文是系列第二篇。系列文章: 现代图片性能优化及体验优化指南 - 图片类型及 Picture 标签的使用 图片资源,在我们的业务中可谓是占据了非常大头的一环,尤其是其对带宽的消耗是十分巨大的。 对图片的性能优化及体验优化在今天就显得尤为重要。本文,就将从各个方面阐述,在各种新特性满头飞的今天,我们可 ......
现代图片性能优化及体验优化指南 - 缩放精细化展示及避免布局偏移、拉伸
本文是系列第三篇。系列文章: 现代图片性能优化及体验优化指南 - 图片类型及 Picture 标签的使用 现代图片性能优化及体验优化指南 - 响应式图片方案 图片资源,在我们的业务中可谓是占据了非常大头的一环,尤其是其对带宽的消耗是十分巨大的。 对图片的性能优化及体验优化在今天就显得尤为重要。本文, ......
好消息!微信小程序开发环境自带vConsole
背景介绍 事情是这样子的,我们在开发小程序的时候,需要在真机上把相关的日志打出来以便进行问题定位和回溯,于是在编程界就有个今天这个新闻。 好消息!广东某男子发现微信小程序开发环境自带vConsole. 同学,你看到这个新闻不震惊不兴奋打鸡血吗?你开发小程序都少装一个vConsole包呢!!! 基于D ......
自己动手从零写桌面操作系统GrapeOS系列教程——4.GrapeOS开发环境介绍
学习操作系统原理最好的方法是自己写一个简单的操作系统。 1. 开发环境简介 为了减少开发过程中不必要的麻烦,希望大家的开发环境尽量与我的保持一致。 我的开发环境如下: Windows10电脑一台 Visual Studio Code(最好是最新版) VirtualBox 6.0.24 CentOS ......
自己动手从零写桌面操作系统GrapeOS系列教程——5.GrapeOS开发环境测试
学习操作系统原理最好的方法是自己写一个简单的操作系统。 在上一讲中我们已经安装配置了开发环境,在本讲中我们来测试一下开发环境是否正常。 我们的测试流程如下: 1.在Visual Studio Code中编写GrapeOS代码; 2.在CentOS中编译GrapeOS代码; 3.在QEMU中运行Gra ......
jmeter做性能测试
一、线程与进程 一个软件/程序,是以进程的方式存在的,一个进程可含多个线程(一个软件可以做多个事情,就是基于线程而实现的) 二、并发的基本概念 并发: 并发用户数:同一时刻,服务器/接口接收到的用户量,例如同一时刻有22个同学同时点击登录按钮,此时并发用户数为22 并发请求数/qps/rps:同一时 ......
React Native学习笔记----React Native简介与环境安装
React Native 的基础是React, 是在 web 端非常流行的开源 UI 框架。要想掌握 React Native,先了解 React 框架本身是非常有帮助的。 一、什么是React Native 1.1 React Native带来的惊喜 React Native 是一个使用JavaS ......
嵌入式Linux—FreeType矢量字体
freetype矢量字体 常用API 1.FT_Init_FreeType函数是FreeType库中的一个函数,其作用是初始化FreeType库,并返回一个指向FT_Library对象的指针。下面是该函数的参数详解: FT_Error FT_Init_FreeType(FT_Library *ali ......
嵌入式Linux—输入子系统
输入系统 常见的输入设备有键盘、鼠标、遥控杆、书写板、触摸屏等等,用户通过这些输入设备与Linux系统进行数据交换。 内核中怎样表示一个输入设备 // include/linux/input.h struct input_dev { const char *name; //设备名称 const ch ......
【译】.NET 7 中的性能改进(一)
原文 | Stephen Toub 翻译 | 郑子铭 一年前,我发布了.NET 6 中的性能改进,紧接着是.NET 5、.NET Core 3.0、.NET Core 2.1和.NET Core 2.0的类似帖子。我喜欢写这些帖子,也喜欢阅读开发人员对它们的回复。去年的一条评论特别引起了我的共鸣。评 ......
【译】.NET 7 中的性能改进(二)
原文 | Stephen Toub 翻译 | 郑子铭 堆栈替换 (On-Stack Replacement) 堆栈替换 (OSR) 是 .NET 7 中最酷的 JIT 功能之一。但要真正了解 OSR,我们首先需要了解分层编译 (tiered compilation),所以快速回顾一下…… 具有 JI ......
【译】.NET 7 中的性能改进(三)
原文 | Stephen Toub 翻译 | 郑子铭 PGO 我在我的 .NET 6 性能改进一文中写了关于配置文件引导优化 (profile-guided optimization) (PGO) 的文章,但我将在此处再次介绍它,因为它已经看到了 .NET 7 的大量改进。 PGO 已经存在了很长时 ......
【译】.NET 7 中的性能改进(四)
原文 | Stephen Toub 翻译 | 郑子铭 边界检查消除 (Bounds Check Elimination) 让.NET吸引人的地方之一是它的安全性。运行时保护对数组、字符串和跨度的访问,这样你就不会因为走到任何一端而意外地破坏内存;如果你这样做,而不是读/写任意的内存,你会得到异常。当 ......
【译】.NET 7 中的性能改进(五)
原文 | Stephen Toub 翻译 | 郑子铭 循环提升和克隆 (Loop Hoisting and Cloning) 我们之前看到PGO是如何与循环提升和克隆互动的,这些优化也有其他改进。 从历史上看,JIT对提升的支持仅限于将一个不变量提升到一个层级。 考虑一下这个例子: [Benchma ......
【译】.NET 7 中的性能改进(六)
原文 | Stephen Toub 翻译 | 郑子铭 矢量化 (Vectorization) SIMD,即单指令多数据 (Single Instruction Multiple Data),是一种处理方式,其中一条指令同时适用于多条数据。你有一个数字列表,你想找到一个特定值的索引?你可以在列表中一次 ......
【译】.NET 7 中的性能改进(七)
原文 | Stephen Toub 翻译 | 郑子铭 Arm64 在.NET 7中,大量的努力用于使Arm64的代码生成与x64的代码生成一样好或更好。我已经讨论了一些与架构无关的PR,还有一些是专门针对Arm的,但还有很多。我们来列举其中的一些。 寻址模式 (Addressing modes) " ......
从Linux Bridge引发的网桥、交换机与路由器区别探究
背景 最近接触docker的网络配置方式,发现其默认会创建一个docker0的Linux Bridge,宿主机上运行的容器可以通过连接该birdge实现与外网的通信,根据bridge这个命名很自然的认为这就是一个传统意义上的硬件网桥的软件实现,然而进一步探究后发现并非如此,Linux Bridge其 ......
C#实现聊天消息渲染、图文混排(支持Windows、Linux)
在实现聊天软件时,渲染文字表情图文混排是一项非常繁琐的工作,再加上还要支持GIF动图、引用消息、撤回消息、名片等不同样式的消息渲染时,就更加麻烦了。那么有简单的实现办法吗?嗯,有的。 ......
数据库系列:MySQL慢查询分析和性能优化
1 背景 我们的业务服务随着功能规模扩大,用户量扩增,流量的不断的增长,经常会遇到一个问题,就是数据存储服务响应变慢。 导致数据库服务变慢的诱因很多,而RD最重要的工作之一就是找到问题并解决问题。 下面以MySQL为例子,我们从几个角度分析可能产生原因,并讨论解决的方案。 2 定位慢查询的原因并优化 ......
【Redis场景4】单机环境下秒杀问题
【Redis场景4】单机环境下秒杀问题;涉及到全局唯一ID的生成,并发问题,库存超卖问题,一人一单秒杀问题等,相关场景进行压测,不局限于文字,注重实操。 ......
无需依赖Docker环境制作镜像
随着高版本的Kubernetes弃用Docker,企业也可以不依赖Docker环境了,但是DevOps通过Kubernetes部署的话,仍然需要制作镜像,那么在没有Docker环境的情况下如何制作呢?推荐一款谷歌的开源工具Jib,github地址,它是一个无需Docker守护进程——也无需深入掌握D ......
Kubernetes环境cert-manager部署与应用
本作品由Galen Suen采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可。由原作者转载自个人站点。 概述 本文用于整理基于Kubernetes环境的cert-manager部署与应用,实现证书管理和Ingress启用TLS配置。 随着各相关组件版本的更新,笔者将在验证通过后 ......
浅谈JS词法环境
JavaScript 词法环境 本文主要讲解JS词法环境,我们将看到什么是词法环境,词法范围如何工作,函数内部的名称如何解析,内部属性,弄清楚词法环境利于我们理解闭包。让我们开始吧... 什么是词法环境? 在理解闭包时,最大的混淆来源是术语“词汇环境”,或者只是“词汇”这个词。在计算机科学中术语“词 ......
linux 基础(6)简单认识 bash
shell 和 bash 是什么? shell 是一种应用程序,在这个程序里输入文字指令,系统就会做出响应的操作。这个“壳程序”是我们使用系统各种功能的接口,学会了 shell 就是学会操作 linux 系统。检索/etc/shells,可以看到当前系统的 shell 有哪些。而 bash (Bou ......