项目性能优化的指标,目标

性能优化的终极目标是什么性能优化的目标实际上是为了更好的用户体验一般我们认为用户体验是下面的公式:用户体验 = 产品设计(非技术)+ 系统性能 ≈ 系统性能 = 快那什么样的体验叫快呢?3秒定理 一般我们认为网站页面的加载速度在3秒以内就可以称作合格了,加载速度越趋近于0,越快。 3秒定理:Strangeloop在对比了众多网站,并对其性能进行分析之后得出了一个著名的3秒定理,当网站页面加载速度超过3秒后,57%的访客会离开这个网站。  如果想让我们的系统快起来,就要做性能调优。项目性能优化以下可以做为优化的标准:前端工程师:首屏时间、白屏时间、可交互时间、完全加载时间;移动端工程师:端到端响应时间、Crash率、内存使用率、FPS;后端工程师:RT、TPS、并发数。影响因素1:数据库读写、RPC、网络IO、逻辑计算复杂度、缓存影响因素2:JVM[Throughput吞吐量、Footprint访存足迹、Latency延迟]影响性能的关键要素产品设计:产品逻辑、功能交互、动态效果、页面元素基础网络:网络=连接介质+计算终端代码质量&架构移动端环境:设备类型&性能、网络...

PHP,Golang,前端,.Net,解决方案,其他 2024-03-12 PM 90次 0条

令牌桶限流算法

 下面我们通过使用redis实现一个简单通用的令牌桶限流算法解决问题 令牌桶算法主要是以桶的容量为基准,以固定的时间来生产令牌,有效的解决了漏桶效率不高的问题具体实现创建redis对象并定义缓存键$redis = $this->connect(); $key = "aaaaa";开启 watch 并定义定义每分钟最大请求数量$current_time = time(); $max_count = 320; $total_s = 60; $redis->watch($key);计算平均值用于限制每秒请求数量$rate = (int)(($max_count / $total_s) * ($current_time - ¥result_array["time"]));取出最大容量与桶内容量最小值$num = min($max_count, ($result_array["num"] + $rate));判断令牌数/* 令牌小于0 */ if ($num <= 0) { return false; }重新保存令牌$result = json_encode(["num" =>...

PHP,Golang,.Net,解决方案,其他 2023-03-21 AM 361次 0条

c#使用Newtonsoft.Json包处理解析json字符串

 使用 c# 开发程序中我们没可以直接使用的 json解析类库 这个时候我们可以通过 NuGet 安装使用 Newtonsoft.Json 类库来对 json 进行解析处理。安装 Newtonsoft.Json 我们可以通过 ide 菜单 工具->NuGet包管理 里面下载引入。引用 Newtonsoft.Json 在使用到的类文件里面引入 Newtonsoft.Jsonusing Newtonsoft.Json; using Newtonsoft.Json.Linq; 使用 Newtonsoft.Jsonstring json = "{}"; dynamic result = JObject.Parse(json); Console.WriteLine(result.xxx);这个时候如果报 Microsoft.CSharp.RuntimeBinder.CSharpArgumentInfo.Create 这个错误稳住不要急,下面就是解决方案。在项目中引入Microsoft.Csharp即可解决。 我们可以直接使用解析后的json字符串调用对象使用。 关于 c# 使用 ...

.Net 2021-11-26 AM 972次 0条

c#禁用DataGridView点击列标题排序

 因为业务要求现在我们需要将 DataGridView 控件默认点击 列标题排序功能禁用 掉,下面我们将讲解下怎么实现禁用 DataGridView 点击列标题排序。如何禁止DataGridView点击列标题后排序 以前 DataGrid 有一个 AllowSorting 这个属性可以禁止但是 DataGridView 没有 AllowSorting 这个属性。 我查 MSDN 的结果是必须对每个列单独设置,不能整体设为不可排序。实现禁用DataGridView点击列标题排序  DataGridView 中的 Columns 属性里面可以设置。 进入 Edit Columns 窗口后,在相应的列属性设置里面把 SortMode 属性选择为 NotSortable 就可以了是不是很简单。 关于如何禁止 DataGridView 点击列标题后排序以及 解决方案 已经实现了。

.Net 2021-10-11 AM 560次 0条