打造高性能JAVA应用你需要知道的 - ImportNew



打造高性能JAVA应用你需要知道的 - ImportNew

对于性能调优,通常会有三个步骤:1,性能监控;2,性能剖析;3,性能调优

我们对于操作系统的性能关注主要在下面几个点上:CPU利用率、CPU调度执行队列、内存利用率、网络I/O、磁盘I/O。

1,CPU利用率

对于一个应用来说,为了让应用达到最好的性能和可扩展性,我们不仅仅要充分利用CPU周期内可用的部分,而且要让这部分CPU的使用更有价值,而不是浪费。能够让CPU的周期利用的更充分对于多线程应用运行在多处理器和多核系统上至很有挑战性的。另外,当CPU达到饱和状态的时候并不能说明CPU的性能和伸缩性已经达到了最佳的状态。为了区分应用是如何利用CPU资源的,我们必须从操作系统级别来检测。在很多操作系统上,CPU的利用率统计报告通常包括用户和系统或内核对操作系统的使用。用户对CPU的使用是指应用用来执行应用代码执行所需要的时间。相比之下,内核和系统对CPU的使用是指应用用来执行操作系统内核代码锁花费的时间。高的内核或者系统CPU使用率可以表明共享资源紧迫,或者是有大量的I/O设备交互。理想的状态为了提高应用的性能和伸缩性,让内核或系统CPU时间为0%,因为花在执行内核或系统代码的时间是可以用来执行应用代码的。因此CPU使用优化的一个正确方向就是尽可能减少CPU花在执行内核代码或者系统代码上的时间。


Read full article from 打造高性能JAVA应用你需要知道的 - ImportNew


No comments:

Post a Comment

Labels

Algorithm (219) Lucene (130) LeetCode (97) Database (36) Data Structure (33) text mining (28) Solr (27) java (27) Mathematical Algorithm (26) Difficult Algorithm (25) Logic Thinking (23) Puzzles (23) Bit Algorithms (22) Math (21) List (20) Dynamic Programming (19) Linux (19) Tree (18) Machine Learning (15) EPI (11) Queue (11) Smart Algorithm (11) Operating System (9) Java Basic (8) Recursive Algorithm (8) Stack (8) Eclipse (7) Scala (7) Tika (7) J2EE (6) Monitoring (6) Trie (6) Concurrency (5) Geometry Algorithm (5) Greedy Algorithm (5) Mahout (5) MySQL (5) xpost (5) C (4) Interview (4) Vi (4) regular expression (4) to-do (4) C++ (3) Chrome (3) Divide and Conquer (3) Graph Algorithm (3) Permutation (3) Powershell (3) Random (3) Segment Tree (3) UIMA (3) Union-Find (3) Video (3) Virtualization (3) Windows (3) XML (3) Advanced Data Structure (2) Android (2) Bash (2) Classic Algorithm (2) Debugging (2) Design Pattern (2) Google (2) Hadoop (2) Java Collections (2) Markov Chains (2) Probabilities (2) Shell (2) Site (2) Web Development (2) Workplace (2) angularjs (2) .Net (1) Amazon Interview (1) Android Studio (1) Array (1) Boilerpipe (1) Book Notes (1) ChromeOS (1) Chromebook (1) Codility (1) Desgin (1) Design (1) Divide and Conqure (1) GAE (1) Google Interview (1) Great Stuff (1) Hash (1) High Tech Companies (1) Improving (1) LifeTips (1) Maven (1) Network (1) Performance (1) Programming (1) Resources (1) Sampling (1) Sed (1) Smart Thinking (1) Sort (1) Spark (1) Stanford NLP (1) System Design (1) Trove (1) VIP (1) tools (1)

Popular Posts