性能
因上努力果上随缘
这个作者很懒,什么都没留下…
展开
-
TCP 选择性应答的性能权衡
SACK 优化会引起拒绝服务攻击吗?选择性应答(SACK)是 TCP 的一项可选特性,可以提高某些网络中所有可用带宽的使用效率。虽然 SACK 可以提高吞吐量,但事实证明,对于 TCP 发送方来说,处理这种类型的应答严重占用 CPU。这个弱点在商业网点中可能会被一些恶意的同行利用。本文进行了一些实验性评测,展示这种问题在 Linux® TCP 协议栈中的影响程度。大多数发行版在默认情况下都会启用 SACK 功能。TCP 选择性应答的性能权衡SACK 优化会引起拒绝服务攻击吗?选择性应转载 2017-02-17 22:32:29 · 754 阅读 · 0 评论 -
在多线程应用程序中使用循环缓冲区高效地进行日志记录
要分析并找出运行错误问题的原因,程序员所广泛使用的一种方法就是日志记录。在本文中,您将了解如何使用循环缓冲区通过内存操作(而不是文件操作)高效地进行日志记录。为该缓冲区选择合适的大小,从而确保转储相关的消息,这将在调试时很有帮助。转载 2017-02-22 01:31:21 · 633 阅读 · 0 评论 -
定位 UNIX 上常见问题的经验总结
主要对 UNIX 平台常见的问题进行了分类,介绍一些常见问题分析时使用的方法和命令,对以下三种常见问题的分析方法做了简单介绍:UNIX 下 Crash 问题的分析方法、UNIX 下内存泄露问题的分析方法和 UNIX 下 performance 问题的分析方法。转载 2017-02-22 00:55:42 · 518 阅读 · 0 评论 -
使用 libevent 和 libev 提高网络应用性能
构建现代的服务器应用程序需要以某种方法同时接收数百、数千甚至数万个事件,无论它们是内部请求还是网络连接,都要有效地处理它们的操作。有许多解决方案,但是 libevent 库和 libev 库能够大大提高性能和事件处理能力。在本文中,我们要讨论在 UNIX® 应用程序中使用和部署这些解决方案所用的基本结构和方法。libev 和 libevent 都可以在高性能应用程序中使用,包括部署在 IBM Cloud 或 Amazon EC2 环境中的应用程序,这些应用程序需要支持大量并发客户端或操作。转载 2017-03-01 22:41:36 · 369 阅读 · 0 评论 -
libPhenom:Facebook开源的高性能C语言并发编程框架
libPhenom是Facebook发布的一个C语言事件框架,用于构建高性能和高可扩展的系统。支持多线程、提供内存管理和常用数据结构、json处理。转载 2017-03-01 22:22:05 · 1062 阅读 · 0 评论 -
Linux 下网络性能优化方法简析
性能问题永远是永恒的主题之一,而Linux在网络性能方面的优势则显而易见,这篇文章是对于Linux内核中提升网络性能的一些优化方法的简析,以让我们去后台看看魔术师表演用的盒子,同时也看看内核极客们是怎样灵活的,渐进的去解决这些实际的问题。转载 2017-02-20 01:18:09 · 245 阅读 · 0 评论 -
linux下调试监控类工具
linux下调试监控类工具总结原创 2017-02-19 23:21:46 · 290 阅读 · 0 评论 -
使用 shell 脚本对 Linux 系统和进程资源进行监控
本文主要介绍 Linux 平台下的 shell 脚本使用,主要包括如何对系统和进程资源进行有效的监控。转载 2017-02-20 01:56:35 · 307 阅读 · 0 评论 -
提高 Linux 上 socket 性能
加速网络应用程序的 4 种方法。使用 Sockets API,我们可以开发客户机和服务器应用程序,它们可以在本地网络上进行通信,也可以通过 Internet 在全球范围内进行通信。与其他 API 一样,您可以通过一些方法使用 Sockets API,从而提高 Socket 的性能,或者限制 Socket 的性能。本文探索了 4 种使用 Sockets API 来获取应用程序的最大性能并对 GNU/Linux® 环境进行优化从而达到最好结果的方法。转载 2017-02-20 01:06:33 · 203 阅读 · 0 评论 -
Ceph:一个 Linux PB 级分布式文件系统
Linux®持续不断进军可扩展计算空间,特别是可扩展存储空间。Ceph 最近才加入到 Linux 中令人印象深刻的文件系统备选行列,它是一个分布式文件系统,能够在维护 POSIX 兼容性的同时加入了复制和容错功能。探索 Ceph 的架构,学习它如何提供容错功能,简化海量数据管理。转载 2017-02-20 00:15:41 · 271 阅读 · 0 评论 -
Linux 中直接 I/O 机制的介绍
对于传统的操作系统来说,普通的 I/O 操作一般会被内核缓存,这种 I/O 被称作缓存 I/O。本文所介绍的文件访问机制不经过操作系统内核的缓存,数据直接在磁盘和应用程序地址空间进行传输,所以该文件访问的机制称作为直接 I/O。Linux 中就提供了这样一种文件访问机制,对于那种将 I/O 缓存存放在用户地址空间的应用程序来说,直接 I/O 是一种非常高效的手段。本文将基于 2.6.18 版本的内核来讨论 Linux 中直接 I/O 的技术的设计与实现。转载 2017-02-19 23:50:16 · 272 阅读 · 0 评论 -
在 Linux 下用户空间与内核空间数据交换的方式
本系列文章包括两篇,它们文详细地介绍了 Linux 系统下用户空间与内核空间数据交换的九种方式,包括内核启动参数、模块参数与 sysfs、sysctl、系统调用、netlink、procfs、seq_file、debugfs和relayfs,并给出具体的例子帮助读者掌握这些技术的使用。本文是该系列文章的第一篇,它介绍了内核启动参数、模块参数与sysfs、sysctl、系统调用和netlink,并结合给出的例子程序详细地说明了它们如何使用。转载 2017-02-19 23:37:59 · 340 阅读 · 0 评论 -
Relay:一种内核到用户空间的高效数据传输技术
Relay 是一种从 Linux 内核到用户空间的高效数据传输技术。通过用户定义的 relay 通道,内核空间的程序能够高效、可靠、便捷地将数据传输到用户空间。Relay 特别适用于内核空间有大量数据需要传输到用户空间的情形,目前已经广泛应用在内核调试工具如 SystemTap中。本文介绍了 Relay 的历史和原理,并且用一个简单的实例介绍了 Relay 的具体用法。转载 2017-02-19 23:33:10 · 406 阅读 · 0 评论 -
linux perf - 性能测试和优化工具
Perf是Linux kernel自带的系统性能优化工具。虽然它的版本还只是0.0.2,Perf已经显现出它强大的实力,足以与目前Linux流行的OProfile相媲美了。Perf 的优势在于与Linux Kernel的紧密结合,它可以最先应用到加入Kernel的new feature。而像OProfile, GProf等通常会“慢一拍”。Perf的基本原理跟OProfile等类似,也是在CPU的PMU registers中Get/Set performance counters来获得诸如instruct转载 2017-02-19 22:52:35 · 1267 阅读 · 0 评论 -
系统级性能分析工具 — Perf
系统级性能分析工具 — Perf 。从2.6.31内核开始,linux内核自带了一个性能分析工具perf,能够进行函数级与指令级的热点查找。转载 2017-02-19 22:48:51 · 350 阅读 · 0 评论 -
Perf -- Linux下的系统性能调优工具,第 2 部分
perf event 是一款随 Linux 内核代码一同发布和维护的性能诊断工具,由内核社区维护和发展。perf 不仅可以用于应用程序的性能统计分析,也可以应用于内核代码的性能统计和分析。得益于其优秀的体系结构设计,越来越多的新功能被加入 perf,使其已经成为一个多功能的性能统计工具集 。第二部分将介绍 perf 在内核代码开发上的应用。转载 2017-02-19 22:08:39 · 422 阅读 · 0 评论 -
Perf -- Linux下的系统性能调优工具,第 1 部分
Perf Event 是一款随 Linux 内核代码一同发布和维护的性能诊断工具,由内核社区维护和发展。Perf 不仅可以用于应用程序的性能统计分析,也可以应用于内核代码的性能统计和分析。得益于其优秀的体系结构设计,越来越多的新功能被加入 Perf,使其已经成为一个多功能的性能统计工具集 。在第一部分,将介绍 Perf 在应用程序开发上的应用。转载 2017-02-19 22:05:50 · 288 阅读 · 0 评论 -
memcached完全剖析–1. memcached的基础
memcached是高性能的分布式内存缓存服务器。 一般的使用目的是,通过缓存数据库查询结果,减少数据库访问次数,以提高动态Web应用的速度、 提高可扩展性。转载 2017-02-19 02:48:08 · 167 阅读 · 0 评论 -
libevent:一个在网络服务器中事件驱动开发库
Libevent 是一个基于事件触发的网络库。它提供一种机制,即当某个具体事件发生在一个文件描述符上或已经达到超时时,来执行某一个回调函数。此外,它也支持信号或定时器事件的回调。Libevent 是为了取代在事件驱动的网络服务中的事件循环。应用程序只需要调用event_dispatch() 函数,然后动态添加和移除事件而不需要更改事件循环。转载 2017-03-01 22:45:45 · 657 阅读 · 0 评论