SlideShare a Scribd company logo
JavaEye
          Robbin Fan
• JavaEye
• JavaEye
• JavaEye
•
JavaEye
JavaEye

•    1U
•1        Web Server, 1   DB Server
•          2.6
•                3
Web Server

• AMD Opteron 2.4GHz   *2
• 8G
• 146G SCSI
DB Server

• AMD Opteron 2.0GHz   *2
• 4G
• 73G SCSI
150   /
JavaEye



            10

       20
                             RSS

RSS
  20


                       100
ruby   ......
Google Adplanner Data for JavaEye
Google Adplanner Data for JavaEye
IT


   CSDN                                                   260


  JavaEye                          74


ChinaUnix                          73


  Cnblogs                     55


   ITPUB                 38


  51CTO             23


    infoq       8


            0                       75        150   225         300
IT


   CSDN                                                   260   3.5X
  JavaEye                          74


ChinaUnix                          73


  Cnblogs                     55


   ITPUB                 38


  51CTO             23


    infoq       8


            0                       75        150   225            300
IT


   CSDN                                 30+ Server           260   3.5X
  JavaEye                          74


ChinaUnix                          73


  Cnblogs                     55


   ITPUB                 38


  51CTO             23


    infoq       8


            0                       75           150   225            300
IT


   CSDN                                 30+ Server ASP.net         260   3.5X
  JavaEye                          74


ChinaUnix                          73


  Cnblogs                     55


   ITPUB                 38


  51CTO             23


    infoq       8


            0                       75           150         225            300
IT


   CSDN                                 30+ Server ASP.net         260   3.5X
  JavaEye                          74    2 Server
ChinaUnix                          73


  Cnblogs                     55


   ITPUB                 38


  51CTO             23


    infoq       8


            0                       75              150      225            300
IT


   CSDN                                 30+ Server ASP.net             260   3.5X
  JavaEye                          74    2 Server         ruby
ChinaUnix                          73


  Cnblogs                     55


   ITPUB                 38


  51CTO             23


    infoq       8


            0                       75              150          225            300
IT


   CSDN                                 30+ Server ASP.net              260   3.5X
  JavaEye                          74    2 Server          ruby
ChinaUnix                          73    4+ Server
  Cnblogs                     55


   ITPUB                 38


  51CTO             23


    infoq       8


            0                       75               150          225            300
IT


   CSDN                                 30+ Server ASP.net              260   3.5X
  JavaEye                          74    2 Server          ruby
ChinaUnix                          73    4+ Server         PHP
  Cnblogs                     55


   ITPUB                 38


  51CTO             23


    infoq       8


            0                       75               150          225            300
IT


   CSDN                                 30+ Server ASP.net              260   3.5X
  JavaEye                          74    2 Server          ruby
ChinaUnix                          73    4+ Server         PHP
  Cnblogs                     55         4+ Server
   ITPUB                 38


  51CTO             23


    infoq       8


            0                       75               150          225            300
IT


   CSDN                                 30+ Server ASP.net                 260   3.5X
  JavaEye                          74    2 Server           ruby
ChinaUnix                          73    4+ Server          PHP
  Cnblogs                     55         4+ Server         ASP.net
   ITPUB                 38


  51CTO             23


    infoq       8


            0                       75               150             225            300
IT


   CSDN                                 30+ Server ASP.net                 260   3.5X
  JavaEye                          74    2 Server           ruby
ChinaUnix                          73    4+ Server          PHP
  Cnblogs                     55         4+ Server         ASP.net
   ITPUB                 38                                 PHP
  51CTO             23


    infoq       8


            0                       75               150             225            300
IT


   CSDN                                 30+ Server ASP.net                 260   3.5X
  JavaEye                          74    2 Server           ruby
ChinaUnix                          73    4+ Server          PHP
  Cnblogs                     55         4+ Server         ASP.net
   ITPUB                 38                                 PHP
  51CTO             23


    infoq       8                                           Java
            0                       75               150             225            300
JavaEye
2006.09

•1
•
•
2006.09

• lighttpd
• ruby 1.8.4, rails 1.1.2,   fastcgi
• mysql5.0
Single Server



  lighttpd


fastcgi(ruby)


   mysql
2007.01

•       2
•   web DB
•              IO
Web Server      DB Server



  lighttpd


fastcgi(ruby)    mysql
2007.02

• posts
• posts   select count   30
 0.1
posts


• posts(id, ..., body)
•                   2GB
posts


• posts(id, post_text_id,...) 50MB
• post_texts(id, body) 2GB
2007.03

•
• memcached         CachedModel
•
• 240 sql query/s      140 sql query/s
• memcached              75%
Web Server      DB Server



  lighttpd


fastcgi(ruby)    mysql


memcached
2007.05


•
•
2007.09

•
•   ruby ferret
•
2008.01

• JavaEye
•              cache_fu
•                  84%
• sql query      50 /s
2008.05


•      rmmseg-cpp
2008.10


•   cache plugin
•            96%
2008.10

•   ferret
•   Java lucene
•        C/S
Web Server       DB Server



  lighttpd      SearchServer
                  (lucene)
fastcgi(ruby)      mysql


memcached
2008.11


•       PDF
Web Server       DB Server



  lighttpd      SearchServer
                  (lucene)
fastcgi(ruby)      mysql

                 PDF Creating
memcached         (ruby, C)
2009.03

• SNS feed
• twitter
• API
Web Server       DB Server      RSS/API



                fastcgi(ruby)
  lighttpd      SearchServer
                  (lucene)
fastcgi(ruby)       mysql

                 PDF Creating
memcached         (ruby, C)
                twitter sync
2009.03


•   Google Analytics
•
Web Server                  DB Server              RSS/API



                              fastcgi(ruby)
        lighttpd             SearchServer
analytics                      (lucene)
      fastcgi(ruby)              mysql
                                PDF Creating
      memcached                  (ruby, C)
                               twitter sync
  DNS Server/Email Server/
       NFS Server            DNS Server/Email Server
2009.12

•   Web IM
•
•
Backgroud Server
Web Server        fastcgi(ruby)
                   IM Server
   lighttpd       PDF Creating
                  SearchServer
 fastcgi(ruby)
                    DB Server

 memcached
                      mysql
JavaEye

• CachedModel+   QueryCache
• cache_fu
• cache_plugin
• cache_money*
•
•
•
    •            page cache
    •          frgment cache
    •   REST
•
•              n


• ORM
•       join   n+1 SQL
• Web
•       IO
•
•       n+1 SQL
CachedModel

•            , Hibernate
•
• select * from post_texts where id = ?
•         75%
CachedModel

•    AR find_by_sql
•
•
cache_fu

• cache_fu    AR


•
•     cache_fu memcached
    84%
cache plugin

•    Rails Cache               60
•                              n:1
                   1:n
• memcached              96%
memcached
memcached
cache_money

•   twitter
•             ruby cache
•
• JavaEye
•
•           ruby
JavaEye


• ruby        db Web Server load
     DB
•                 ruby
ruby

• ruby
• erb
•
•          ruby
post
post          html
post
post          html
JavaEye


• memcached                96%
• cache get : sql query = 4 : 1
JavaEye

• ferret
• ferret+rmmseg-cpp
•
• ferret+rmmseg
• ferret
fastcgi          json protocol   SearchServer
      (ruby)                               (java)
                          socket
long lived processes                   long lived threads
• DNS
• Web Server
• ruby
Thank you!

More Related Content

Similar to JavaEye网站架构解密

Cld006 azure v_net___express_route_最新情報
Cld006 azure v_net___express_route_最新情報Cld006 azure v_net___express_route_最新情報
Cld006 azure v_net___express_route_最新情報
Tech Summit 2016
 
Sprint 143
Sprint 143Sprint 143
Sprint 143
ManageIQ
 
ProxySQL & PXC(Query routing and Failover Test)
ProxySQL & PXC(Query routing and Failover Test)ProxySQL & PXC(Query routing and Failover Test)
ProxySQL & PXC(Query routing and Failover Test)
YoungHeon (Roy) Kim
 
Cld006 azure v_net___express_route_最新情報
Cld006 azure v_net___express_route_最新情報Cld006 azure v_net___express_route_最新情報
Cld006 azure v_net___express_route_最新情報
Tech Summit 2016
 
OSMC 2008 | Monitoring MySQL by Geert Vanderkelen
OSMC 2008 | Monitoring MySQL by Geert VanderkelenOSMC 2008 | Monitoring MySQL by Geert Vanderkelen
OSMC 2008 | Monitoring MySQL by Geert Vanderkelen
NETWAYS
 
MySQL Performance Schema in 20 Minutes
 MySQL Performance Schema in 20 Minutes MySQL Performance Schema in 20 Minutes
MySQL Performance Schema in 20 Minutes
Sveta Smirnova
 
Introduction to QtWebKit
Introduction to QtWebKitIntroduction to QtWebKit
Introduction to QtWebKitAriya Hidayat
 
分散Key-valueストアkumofsの思想と設計
分散Key-valueストアkumofsの思想と設計分散Key-valueストアkumofsの思想と設計
分散Key-valueストアkumofsの思想と設計
Sadayuki Furuhashi
 
Inside Architecture of Neutron
Inside Architecture of NeutronInside Architecture of Neutron
Inside Architecture of Neutron
markmcclain
 
ずばり動く!kumofs と ずばり動かないケース
ずばり動く!kumofs と ずばり動かないケースずばり動く!kumofs と ずばり動かないケース
ずばり動く!kumofs と ずばり動かないケース
Sadayuki Furuhashi
 
Enhancing MySQL Security
Enhancing MySQL SecurityEnhancing MySQL Security
Enhancing MySQL Security
Vinicius M Grippa
 
TYCS Training Program
TYCS Training ProgramTYCS Training Program
Hardware accelerated switching with Linux @ SWLUG Talks May 2014
Hardware accelerated switching with Linux @ SWLUG Talks May 2014Hardware accelerated switching with Linux @ SWLUG Talks May 2014
Hardware accelerated switching with Linux @ SWLUG Talks May 2014
Nat Morris
 
DCSF 19 Online Feature Extraction and Event Generation for Computer-Animal In...
DCSF 19 Online Feature Extraction and Event Generation for Computer-Animal In...DCSF 19 Online Feature Extraction and Event Generation for Computer-Animal In...
DCSF 19 Online Feature Extraction and Event Generation for Computer-Animal In...
Docker, Inc.
 
(SDD419) Amazon EC2 Networking Deep Dive and Best Practices | AWS re:Invent 2014
(SDD419) Amazon EC2 Networking Deep Dive and Best Practices | AWS re:Invent 2014(SDD419) Amazon EC2 Networking Deep Dive and Best Practices | AWS re:Invent 2014
(SDD419) Amazon EC2 Networking Deep Dive and Best Practices | AWS re:Invent 2014
Amazon Web Services
 
Percona Live 2019 - MySQL Security
Percona Live 2019 - MySQL SecurityPercona Live 2019 - MySQL Security
Percona Live 2019 - MySQL Security
Vinicius M Grippa
 
NoSQL and MySQL: News about JSON
NoSQL and MySQL: News about JSONNoSQL and MySQL: News about JSON
NoSQL and MySQL: News about JSON
Mario Beck
 
Midwest PHP Presentation - New MSQL Features
Midwest PHP Presentation - New MSQL FeaturesMidwest PHP Presentation - New MSQL Features
Midwest PHP Presentation - New MSQL Features
Dave Stokes
 
MySQL Day Paris 2018 - Introduction & The State of the Dolphin
MySQL Day Paris 2018 - Introduction & The State of the DolphinMySQL Day Paris 2018 - Introduction & The State of the Dolphin
MySQL Day Paris 2018 - Introduction & The State of the Dolphin
Olivier DASINI
 

Similar to JavaEye网站架构解密 (20)

Cld006 azure v_net___express_route_最新情報
Cld006 azure v_net___express_route_最新情報Cld006 azure v_net___express_route_最新情報
Cld006 azure v_net___express_route_最新情報
 
Sprint 143
Sprint 143Sprint 143
Sprint 143
 
ProxySQL & PXC(Query routing and Failover Test)
ProxySQL & PXC(Query routing and Failover Test)ProxySQL & PXC(Query routing and Failover Test)
ProxySQL & PXC(Query routing and Failover Test)
 
NoSQLを知る
NoSQLを知るNoSQLを知る
NoSQLを知る
 
Cld006 azure v_net___express_route_最新情報
Cld006 azure v_net___express_route_最新情報Cld006 azure v_net___express_route_最新情報
Cld006 azure v_net___express_route_最新情報
 
OSMC 2008 | Monitoring MySQL by Geert Vanderkelen
OSMC 2008 | Monitoring MySQL by Geert VanderkelenOSMC 2008 | Monitoring MySQL by Geert Vanderkelen
OSMC 2008 | Monitoring MySQL by Geert Vanderkelen
 
MySQL Performance Schema in 20 Minutes
 MySQL Performance Schema in 20 Minutes MySQL Performance Schema in 20 Minutes
MySQL Performance Schema in 20 Minutes
 
Introduction to QtWebKit
Introduction to QtWebKitIntroduction to QtWebKit
Introduction to QtWebKit
 
分散Key-valueストアkumofsの思想と設計
分散Key-valueストアkumofsの思想と設計分散Key-valueストアkumofsの思想と設計
分散Key-valueストアkumofsの思想と設計
 
Inside Architecture of Neutron
Inside Architecture of NeutronInside Architecture of Neutron
Inside Architecture of Neutron
 
ずばり動く!kumofs と ずばり動かないケース
ずばり動く!kumofs と ずばり動かないケースずばり動く!kumofs と ずばり動かないケース
ずばり動く!kumofs と ずばり動かないケース
 
Enhancing MySQL Security
Enhancing MySQL SecurityEnhancing MySQL Security
Enhancing MySQL Security
 
TYCS Training Program
TYCS Training ProgramTYCS Training Program
TYCS Training Program
 
Hardware accelerated switching with Linux @ SWLUG Talks May 2014
Hardware accelerated switching with Linux @ SWLUG Talks May 2014Hardware accelerated switching with Linux @ SWLUG Talks May 2014
Hardware accelerated switching with Linux @ SWLUG Talks May 2014
 
DCSF 19 Online Feature Extraction and Event Generation for Computer-Animal In...
DCSF 19 Online Feature Extraction and Event Generation for Computer-Animal In...DCSF 19 Online Feature Extraction and Event Generation for Computer-Animal In...
DCSF 19 Online Feature Extraction and Event Generation for Computer-Animal In...
 
(SDD419) Amazon EC2 Networking Deep Dive and Best Practices | AWS re:Invent 2014
(SDD419) Amazon EC2 Networking Deep Dive and Best Practices | AWS re:Invent 2014(SDD419) Amazon EC2 Networking Deep Dive and Best Practices | AWS re:Invent 2014
(SDD419) Amazon EC2 Networking Deep Dive and Best Practices | AWS re:Invent 2014
 
Percona Live 2019 - MySQL Security
Percona Live 2019 - MySQL SecurityPercona Live 2019 - MySQL Security
Percona Live 2019 - MySQL Security
 
NoSQL and MySQL: News about JSON
NoSQL and MySQL: News about JSONNoSQL and MySQL: News about JSON
NoSQL and MySQL: News about JSON
 
Midwest PHP Presentation - New MSQL Features
Midwest PHP Presentation - New MSQL FeaturesMidwest PHP Presentation - New MSQL Features
Midwest PHP Presentation - New MSQL Features
 
MySQL Day Paris 2018 - Introduction & The State of the Dolphin
MySQL Day Paris 2018 - Introduction & The State of the DolphinMySQL Day Paris 2018 - Introduction & The State of the Dolphin
MySQL Day Paris 2018 - Introduction & The State of the Dolphin
 

JavaEye网站架构解密