diff options
author | Russ Cox <rsc@golang.org> | 2020-03-09 23:54:35 -0400 |
---|---|---|
committer | Russ Cox <rsc@golang.org> | 2020-03-17 20:58:37 +0000 |
commit | af5018f64e406aaa646dae066f28de57321ea5ce (patch) | |
tree | 8db7b1f049d83d215fa9abf68851efce7b5ccadb /content/qihoo.article | |
parent | 86e424fac66fa90ddcb7e8d7febd4c2b07d7c59e (diff) |
content: convert to Markdown-enabled present inputs
Converted blog to Markdown-enabled present (CL 222846)
using present2md (CL 222847).
For golang/go#33955.
Change-Id: Ib39fa1ddd9a46f9c7a62a2ca7b96e117635553e8
Reviewed-on: https://go-review.googlesource.com/c/blog/+/222848
Run-TryBot: Russ Cox <rsc@golang.org>
Reviewed-by: Andrew Bonventre <andybons@golang.org>
Diffstat (limited to 'content/qihoo.article')
-rw-r--r-- | content/qihoo.article | 43 |
1 files changed, 22 insertions, 21 deletions
diff --git a/content/qihoo.article b/content/qihoo.article index 7f90ed8..7ac2ebc 100644 --- a/content/qihoo.article +++ b/content/qihoo.article @@ -1,13 +1,14 @@ -Qihoo 360 and Go +# Qihoo 360 and Go 6 Jul 2015 +Summary: _This guest blog post was written by Yang Zhou, Software Engineer at Qihoo 360._ Yang Zhou -* Introduction +## -_This_guest_blog_post_was_written_by_Yang_Zhou,_Software_Engineer_at_Qihoo_360._ +_This guest blog post was written by Yang Zhou, Software Engineer at Qihoo 360._ -[[http://www.360safe.com/][Qihoo 360]] is a major provider of Internet and +[Qihoo 360](http://www.360safe.com/) is a major provider of Internet and mobile security products and services in China, and operates a major Android-based mobile distribution platform. At the end of June 2014, Qihoo had about 500 million monthly active PC Internet users and over 640 million mobile @@ -46,28 +47,28 @@ I had to make), and great headway was made soon enough. Here are a few tweaks we made and key take-aways: -- Replace short connections with persistent ones (using a connection pool), - to reduce creation of buffers and objects during communication. -- Use Objects and Memory pools appropriately, to reduce the load on the GC. + - Replace short connections with persistent ones (using a connection pool), + to reduce creation of buffers and objects during communication. + - Use Objects and Memory pools appropriately, to reduce the load on the GC. .image qihoo/image00.png -- Use a Task Pool, a mechanism with a group of long-lived goroutines consuming - global task or message queues sent by connection goroutines, - to replace short-lived goroutines. + - Use a Task Pool, a mechanism with a group of long-lived goroutines consuming + global task or message queues sent by connection goroutines, + to replace short-lived goroutines. -- Monitor and control goroutine numbers in the program. - The lack of control can cause unbearable burden on the GC, - imposed by surges in goroutines due to uninhibited acceptance of external requests, - as RPC invocations sent to inner servers may block goroutines recently created. + - Monitor and control goroutine numbers in the program. + The lack of control can cause unbearable burden on the GC, + imposed by surges in goroutines due to uninhibited acceptance of external requests, + as RPC invocations sent to inner servers may block goroutines recently created. -- Remember to add [[https://golang.org/pkg/net/#Conn][read and write deadlines]] - to connections when under a mobile network; - otherwise, it may lead to goroutine blockage. - Apply it properly and with caution when under a LAN network, - otherwise your RPC communication efficiency will be hurt. + - Remember to add [read and write deadlines](https://golang.org/pkg/net/#Conn) + to connections when under a mobile network; + otherwise, it may lead to goroutine blockage. + Apply it properly and with caution when under a LAN network, + otherwise your RPC communication efficiency will be hurt. -- Use Pipeline (under Full Duplex feature of TCP) to enhance the communication efficiency of RPC framework. + - Use Pipeline (under Full Duplex feature of TCP) to enhance the communication efficiency of RPC framework. As a result, we successfully launched three iterations of our architecture, and two iterations of our RPC framework even with limited human resources. @@ -103,7 +104,7 @@ relieved from heavy development work. I guess our experience may also grow obsolete one day, as Go continues to evolve. This is why I want to conclude my sharing by extending my sincere appreciation -to the opportunity to attend [[http://gopherchina.org/][Gopher China]]. +to the opportunity to attend [Gopher China](http://gopherchina.org/). It was a gala for us to learn, to share and for offering a window showcasing Go’s popularity and prosperity in China. Many other teams within Qihoo have already either got to know Go, or tried to use Go. |