我有这段代码
package main
import (
"bytes"
"log"
"net/http"
"strconv"
"time"
)
func main() {
http.HandleFunc("/", Method)
log.Printf("Server Started")
log.Fatal(http.ListenAndServe(":8080", nil))
}
func Method(pResponse http.ResponseWriter, pRequest *http.Request) {
timeInitial := time.Now()
log.Printf(strconv.Itoa(timeInitial.Nanosecond()), strconv.FormatFloat(time.Now().Sub(timeInitial).Seconds()*1000, 'f', 2, 64))
buf := new(bytes.Buffer)
buf.ReadFrom(pRequest.Body)
buf.Bytes()
log.Printf(strconv.Itoa(timeInitial.Nanosecond()), strconv.FormatFloat(time.Now().Sub(timeInitial).Seconds()*1000, 'f', 2, 64))
}
在这台机器上:
结果如下:
2015/08/28 23:09:59 444255510%!(EXTRA string=0.00)
2015/08/28 23:09:59 444255510%!(EXTRA string=0.06)
2015/08/28 23:09:59 472140004%!(EXTRA string=0.00)
2015/08/28 23:09:59 472140004%!(EXTRA string=1.06)
2015/08/28 23:09:59 473322028%!(EXTRA string=0.00)
2015/08/28 23:09:59 473322028%!(EXTRA string=0.01)
2015/08/28 23:09:59 473377991%!(EXTRA string=0.00)
2015/08/28 23:09:59 473377991%!(EXTRA string=0.02)
2015/08/28 23:09:59 483981504%!(EXTRA string=0.00)
2015/08/28 23:09:59 483981504%!(EXTRA string=0.06)
2015/08/28 23:09:59 487652426%!(EXTRA string=0.00)
2015/08/28 23:09:59 487652426%!(EXTRA string=0.07)
2015/08/28 23:09:59 488064359%!(EXTRA string=0.00)
2015/08/28 23:09:59 488064359%!(EXTRA string=0.07)
2015/08/28 23:09:59 493007447%!(EXTRA string=0.00)
2015/08/28 23:09:59 493007447%!(EXTRA string=0.36)
2015/08/28 23:09:59 506383690%!(EXTRA string=0.00)
2015/08/28 23:09:59 506383690%!(EXTRA string=0.02)
2015/08/28 23:09:59 516324968%!(EXTRA string=0.00)
2015/08/28 23:09:59 516324968%!(EXTRA string=0.02)
2015/08/28 23:09:59 516484292%!(EXTRA string=0.00)
2015/08/28 23:09:59 516484292%!(EXTRA string=0.02)
2015/08/28 23:09:59 526459027%!(EXTRA string=0.00)
2015/08/28 23:09:59 526459027%!(EXTRA string=0.03)
2015/08/28 23:09:59 526568984%!(EXTRA string=0.00)
2015/08/28 23:09:59 526568984%!(EXTRA string=0.02)
2015/08/28 23:09:59 526645341%!(EXTRA string=0.00)
2015/08/28 23:09:59 526645341%!(EXTRA string=0.01)
2015/08/28 23:09:59 533764558%!(EXTRA string=0.00)
2015/08/28 23:09:59 533764558%!(EXTRA string=0.02)
2015/08/28 23:09:59 533872219%!(EXTRA string=0.00)
2015/08/28 23:09:59 533872219%!(EXTRA string=0.02)
2015/08/28 23:09:59 542355931%!(EXTRA string=0.00)
2015/08/28 23:09:59 542355931%!(EXTRA string=0.04)
2015/08/28 23:09:59 549176497%!(EXTRA string=0.00)
2015/08/28 23:09:59 549176497%!(EXTRA string=0.03)
2015/08/28 23:09:59 559803436%!(EXTRA string=0.00)
2015/08/28 23:09:59 559803436%!(EXTRA string=0.05)
2015/08/28 23:09:59 559913211%!(EXTRA string=0.00)
2015/08/28 23:09:59 559913211%!(EXTRA string=0.01)
2015/08/28 23:09:59 579428530%!(EXTRA string=0.00)
2015/08/28 23:09:59 579428530%!(EXTRA string=0.05)
2015/08/28 23:09:59 585453710%!(EXTRA string=0.00)
2015/08/28 23:09:59 585453710%!(EXTRA string=0.03)
2015/08/28 23:09:59 587231793%!(EXTRA string=0.00)
2015/08/28 23:09:59 587231793%!(EXTRA string=0.02)
2015/08/28 23:09:59 601407050%!(EXTRA string=0.00)
2015/08/28 23:09:59 601407050%!(EXTRA string=0.02)
2015/08/28 23:09:59 609160787%!(EXTRA string=0.00)
2015/08/28 23:09:59 609160787%!(EXTRA string=0.02)
2015/08/28 23:09:59 617953845%!(EXTRA string=0.00)
2015/08/28 23:09:59 617953845%!(EXTRA string=0.03)
2015/08/28 23:09:59 618042591%!(EXTRA string=0.00)
2015/08/28 23:09:59 618042591%!(EXTRA string=0.02)
2015/08/28 23:09:59 629055567%!(EXTRA string=0.00)
2015/08/28 23:09:59 629055567%!(EXTRA string=0.03)
2015/08/28 23:09:59 642409323%!(EXTRA string=0.00)
2015/08/28 23:09:59 642409323%!(EXTRA string=0.02)
2015/08/28 23:09:59 668017861%!(EXTRA string=0.00)
2015/08/28 23:09:59 668017861%!(EXTRA string=0.12)
2015/08/28 23:09:59 677003700%!(EXTRA string=0.00)
2015/08/28 23:09:59 677003700%!(EXTRA string=0.06)
2015/08/28 23:09:59 692284984%!(EXTRA string=0.00)
2015/08/28 23:09:59 692284984%!(EXTRA string=0.03)
2015/08/28 23:09:59 705532147%!(EXTRA string=0.00)
2015/08/28 23:09:59 705532147%!(EXTRA string=0.06)
2015/08/28 23:09:59 712790204%!(EXTRA string=0.00)
2015/08/28 23:09:59 712790204%!(EXTRA string=0.12)
2015/08/28 23:09:59 737197885%!(EXTRA string=0.00)
2015/08/28 23:09:59 737197885%!(EXTRA string=0.07)
2015/08/28 23:09:59 743503323%!(EXTRA string=0.00)
2015/08/28 23:09:59 743503323%!(EXTRA string=0.14)
2015/08/28 23:09:59 745206360%!(EXTRA string=0.00)
2015/08/28 23:09:59 745206360%!(EXTRA string=0.06)
2015/08/28 23:09:59 763185757%!(EXTRA string=0.00)
2015/08/28 23:09:59 763185757%!(EXTRA string=0.55)
2015/08/28 23:09:59 769112727%!(EXTRA string=0.00)
2015/08/28 23:09:59 769112727%!(EXTRA string=0.08)
2015/08/28 23:09:59 805816057%!(EXTRA string=0.00)
2015/08/28 23:09:59 805816057%!(EXTRA string=0.12)
2015/08/28 23:09:59 809677378%!(EXTRA string=0.00)
2015/08/28 23:09:59 809677378%!(EXTRA string=0.08)
2015/08/28 23:09:59 828063305%!(EXTRA string=0.00)
2015/08/28 23:09:59 828063305%!(EXTRA string=0.12)
2015/08/28 23:09:59 828338407%!(EXTRA string=0.00)
2015/08/28 23:09:59 828338407%!(EXTRA string=0.03)
2015/08/28 23:09:59 835510888%!(EXTRA string=0.00)
2015/08/28 23:09:59 835510888%!(EXTRA string=0.07)
2015/08/28 23:09:59 882626159%!(EXTRA string=0.00)
2015/08/28 23:09:59 882626159%!(EXTRA string=0.03)
2015/08/28 23:09:59 897746270%!(EXTRA string=0.00)
2015/08/28 23:09:59 897746270%!(EXTRA string=0.03)
2015/08/28 23:09:59 931674931%!(EXTRA string=0.00)
2015/08/28 23:09:59 931674931%!(EXTRA string=0.03)
2015/08/28 23:09:59 936024259%!(EXTRA string=0.00)
2015/08/28 23:09:59 936024259%!(EXTRA string=0.05)
在另一台机器上:
结果就是这个
2015/08/29 01:16:54 471552059%!(EXTRA string=15.81)
2015/08/29 01:16:54 480068871%!(EXTRA string=15.67)
2015/08/29 01:16:54 507398302%!(EXTRA string=0.00)
2015/08/29 01:16:54 521398742%!(EXTRA string=0.00)
2015/08/29 01:16:54 202533461%!(EXTRA string=2327.37)
2015/08/29 01:16:54 338831795%!(EXTRA string=1191.18)
2015/08/29 01:16:54 531039526%!(EXTRA string=1037.30)
2015/08/29 01:16:54 593472114%!(EXTRA string=0.00)
2015/08/29 01:16:54 609973091%!(EXTRA string=0.00)
2015/08/29 01:16:54 593472114%!(EXTRA string=16.54)
2015/08/29 01:16:54 609973091%!(EXTRA string=15.73)
2015/08/29 01:16:54 394071392%!(EXTRA string=1238.16)
2015/08/29 01:16:54 638164663%!(EXTRA string=0.00)
2015/08/29 01:16:54 638164663%!(EXTRA string=15.53)
2015/08/29 01:16:54 667631670%!(EXTRA string=0.00)
2015/08/29 01:16:54 675844627%!(EXTRA string=0.00)
2015/08/29 01:16:54 675844627%!(EXTRA string=14.16)
2015/08/29 01:16:54 711898262%!(EXTRA string=0.00)
2015/08/29 01:16:54 300566416%!(EXTRA string=424.26)
2015/08/29 01:16:54 711898262%!(EXTRA string=13.02)
2015/08/29 01:16:54 632385443%!(EXTRA string=1115.35)
2015/08/29 01:16:54 753118239%!(EXTRA string=0.00)
2015/08/29 01:16:54 753118239%!(EXTRA string=14.15)
2015/08/29 01:16:54 767381818%!(EXTRA string=0.00)
2015/08/29 01:16:54 801314950%!(EXTRA string=0.00)
2015/08/29 01:16:54 767381818%!(EXTRA string=33.99)
2015/08/29 01:16:54 816438476%!(EXTRA string=0.00)
2015/08/29 01:16:54 372179187%!(EXTRA string=2457.93)
2015/08/29 01:16:54 836926824%!(EXTRA string=0.00)
2015/08/29 01:16:54 836926824%!(EXTRA string=51.60)
2015/08/29 01:16:54 889729894%!(EXTRA string=0.00)
2015/08/29 01:16:54 890430388%!(EXTRA string=0.00)
2015/08/29 01:16:54 891713727%!(EXTRA string=0.00)
2015/08/29 01:16:54 732229063%!(EXTRA string=1163.04)
2015/08/29 01:16:54 332690466%!(EXTRA string=1571.52)
2015/08/29 01:16:54 904336456%!(EXTRA string=0.00)
2015/08/29 01:16:54 926288167%!(EXTRA string=0.00)
2015/08/29 01:16:54 384796519%!(EXTRA string=1549.14)
2015/08/29 01:16:54 941601994%!(EXTRA string=0.00)
2015/08/29 01:16:54 431987970%!(EXTRA string=1516.20)
2015/08/29 01:16:54 888973901%!(EXTRA string=1082.22)
2015/08/29 01:16:54 977186277%!(EXTRA string=0.00)
2015/08/29 01:16:54 977186277%!(EXTRA string=0.06)
2015/08/29 01:16:54 977367193%!(EXTRA string=0.00)
2015/08/29 01:16:55 977367193%!(EXTRA string=56.33)
2015/08/29 01:16:55 46374447%!(EXTRA string=0.00)
2015/08/29 01:16:55 46374447%!(EXTRA string=0.28)
2015/08/29 01:16:55 869929721%!(EXTRA string=1176.83)
2015/08/29 01:16:55 46916778%!(EXTRA string=0.00)
2015/08/29 01:16:55 66407207%!(EXTRA string=0.00)
2015/08/29 01:16:55 80231754%!(EXTRA string=0.00)
2015/08/29 01:16:55 66407207%!(EXTRA string=13.88)
2015/08/29 01:16:55 80231754%!(EXTRA string=12.10)
2015/08/29 01:16:55 99556642%!(EXTRA string=0.00)
2015/08/29 01:16:55 105395202%!(EXTRA string=0.00)
2015/08/29 01:16:55 121157010%!(EXTRA string=0.00)
2015/08/29 01:16:55 105395202%!(EXTRA string=15.83)
2015/08/29 01:16:55 121157010%!(EXTRA string=12.82)
2015/08/29 01:16:55 134107839%!(EXTRA string=0.00)
2015/08/29 01:16:55 134107839%!(EXTRA string=15.98)
2015/08/29 01:16:55 162712352%!(EXTRA string=0.00)
2015/08/29 01:16:55 162712352%!(EXTRA string=16.46)
2015/08/29 01:16:55 179288920%!(EXTRA string=0.00)
2015/08/29 01:16:55 194490367%!(EXTRA string=0.00)
2015/08/29 01:16:55 202206415%!(EXTRA string=0.00)
2015/08/29 01:16:55 49113060%!(EXTRA string=1165.79)
2015/08/29 01:16:55 473214551%!(EXTRA string=1760.64)
2015/08/29 01:16:55 239858481%!(EXTRA string=0.00)
2015/08/29 01:16:55 32855481%!(EXTRA string=1213.72)
2015/08/29 01:16:55 56811869%!(EXTRA string=1231.75)
2015/08/29 01:16:55 295414269%!(EXTRA string=0.00)
2015/08/29 01:16:55 295491576%!(EXTRA string=0.00)
2015/08/29 01:16:55 889729894%!(EXTRA string=423.76)
2015/08/29 01:16:55 891713727%!(EXTRA string=427.99)
2015/08/29 01:16:55 121465765%!(EXTRA string=1204.92)
2015/08/29 01:16:55 904336456%!(EXTRA string=428.21)
2015/08/29 01:16:55 121526643%!(EXTRA string=1233.79)
2015/08/29 01:16:55 310004280%!(EXTRA string=1051.71)
2015/08/29 01:16:55 858909173%!(EXTRA string=2502.90)
2015/08/29 01:16:55 367541741%!(EXTRA string=0.00)
2015/08/29 01:16:55 367541741%!(EXTRA string=18.04)
2015/08/29 01:16:55 393589632%!(EXTRA string=0.00)
2015/08/29 01:16:55 407450080%!(EXTRA string=0.00)
2015/08/29 01:16:55 46916778%!(EXTRA string=378.70)
2015/08/29 01:16:55 896338456%!(EXTRA string=1529.38)
2015/08/29 01:16:55 431101598%!(EXTRA string=0.00)
2015/08/29 01:16:55 431101598%!(EXTRA string=8.42)
2015/08/29 01:16:55 462833623%!(EXTRA string=0.00)
2015/08/29 01:16:55 462833623%!(EXTRA string=13.67)
2015/08/29 01:16:55 484103852%!(EXTRA string=0.00)
2015/08/29 01:16:55 492334586%!(EXTRA string=0.00)
2015/08/29 01:16:55 492410130%!(EXTRA string=0.00)
2015/08/29 01:16:55 492334586%!(EXTRA string=13.06)
2015/08/29 01:16:55 511300492%!(EXTRA string=0.00)
2015/08/29 01:16:55 511300492%!(EXTRA string=19.36)
2015/08/29 01:16:55 537223305%!(EXTRA string=0.00)
2015/08/29 01:16:55 544019226%!(EXTRA string=0.00)
2015/08/29 01:16:55 544019226%!(EXTRA string=16.19)
2015/08/29 01:16:55 560322064%!(EXTRA string=0.00)
2015/08/29 01:16:55 993395050%!(EXTRA string=1566.96)
2015/08/29 01:16:55 560322064%!(EXTRA string=39.26)
2015/08/29 01:16:55 599688803%!(EXTRA string=0.00)
2015/08/29 01:16:55 179288920%!(EXTRA string=421.14)
2015/08/29 01:16:55 157717567%!(EXTRA string=1443.31)
2015/08/29 01:16:55 507398302%!(EXTRA string=1093.78)
2015/08/29 01:16:55 609900746%!(EXTRA string=0.00)
2015/08/29 01:16:55 239858481%!(EXTRA string=370.10)
2015/08/29 01:16:55 609900746%!(EXTRA string=14.23)
2015/08/29 01:16:55 993465302%!(EXTRA string=1644.50)
2015/08/29 01:16:55 655129719%!(EXTRA string=0.00)
2015/08/29 01:16:55 66651321%!(EXTRA string=1601.79)
2015/08/29 01:16:55 521398742%!(EXTRA string=1156.10)
2015/08/29 01:16:55 295491576%!(EXTRA string=382.10)
2015/08/29 01:16:55 295414269%!(EXTRA string=389.39)
2015/08/29 01:16:55 702701065%!(EXTRA string=0.00)
2015/08/29 01:16:55 137363675%!(EXTRA string=1574.04)
2015/08/29 01:16:55 393589632%!(EXTRA string=339.33)
2015/08/29 01:16:55 667631670%!(EXTRA string=1071.18)
2015/08/29 01:16:55 407450080%!(EXTRA string=338.06)
2015/08/29 01:16:55 484103852%!(EXTRA string=293.32)
2015/08/29 01:16:55 786006965%!(EXTRA string=0.00)
2015/08/29 01:16:55 801314950%!(EXTRA string=998.25)
2015/08/29 01:16:55 816438476%!(EXTRA string=1008.98)
2015/08/29 01:16:55 848323630%!(EXTRA string=0.00)
2015/08/29 01:16:55 655129719%!(EXTRA string=225.32)
2015/08/29 01:16:55 900971628%!(EXTRA string=0.00)
2015/08/29 01:16:55 702701065%!(EXTRA string=212.15)
2015/08/29 01:16:55 953092419%!(EXTRA string=0.00)
2015/08/29 01:16:56 786006965%!(EXTRA string=225.37)
2015/08/29 01:16:56 848323630%!(EXTRA string=263.25)
2015/08/29 01:16:56 890430388%!(EXTRA string=1221.25)
2015/08/29 01:16:56 99556642%!(EXTRA string=1013.02)
2015/08/29 01:16:56 599688803%!(EXTRA string=513.94)
2015/08/29 01:16:56 900971628%!(EXTRA string=213.58)
2015/08/29 01:16:56 114683782%!(EXTRA string=0.00)
2015/08/29 01:16:56 194490367%!(EXTRA string=926.51)
2015/08/29 01:16:56 941601994%!(EXTRA string=1179.50)
2015/08/29 01:16:56 202206415%!(EXTRA string=944.82)
2015/08/29 01:16:56 953092419%!(EXTRA string=201.68)
2015/08/29 01:16:56 280223380%!(EXTRA string=0.00)
2015/08/29 01:16:56 926288167%!(EXTRA string=1373.12)
2015/08/29 01:16:56 114683782%!(EXTRA string=213.67)
2015/08/29 01:16:56 365730070%!(EXTRA string=0.00)
2015/08/29 01:16:56 537223305%!(EXTRA string=882.31)
2015/08/29 01:16:56 272782462%!(EXTRA string=4147.48)
2015/08/29 01:16:56 632615696%!(EXTRA string=0.00)
2015/08/29 01:16:56 634781232%!(EXTRA string=0.00)
2015/08/29 01:16:56 280223380%!(EXTRA string=360.50)
2015/08/29 01:16:56 365730070%!(EXTRA string=275.11)
2015/08/29 01:16:56 492410130%!(EXTRA string=1354.29)
2015/08/29 01:16:56 632615696%!(EXTRA string=214.78)
2015/08/29 01:16:56 634781232%!(EXTRA string=219.21)
2015/08/29 01:16:57 65374683%!(EXTRA string=0.00)
2015/08/29 01:16:57 65573396%!(EXTRA string=0.00)
2015/08/29 01:16:57 65374683%!(EXTRA string=300.96)
2015/08/29 01:16:57 53842402%!(EXTRA string=5317.02)
2015/08/29 01:16:57 65573396%!(EXTRA string=305.82)
2015/08/29 01:16:58 26171685%!(EXTRA string=10149.46)
在不同机器上生成不同结果的相同代码。结果中的时间以毫秒为单位,您可以看到Linux机器打印表单只需要执行我之前显示的简单代码5秒到10秒,但在mac机器上这不会发生。不幸的是,我的最终产品应该在Linux上,因此执行此代码的时间会影响高性能产品的最终结果。我不知道这个代码在Linux中有什么问题。我会感激任何帮助;目前,我被困住了。
我是如何测试代码的:
通过负载测试,我发送100个线程1分钟,采用简单策略,测试延迟1秒,SoapUI 5.2.0上的随机0.5
请求是这样的:
{
"Field1":{
"Key1":"HHHHHH",
"Key2":"[branch code]",
"Key3":"HHHHHHtest"
},
"Field2":{
"Key1":"HHH"
},
"Field3":{
"Key1":[
{
"Value1":0,
"Value2":"HHHHHHH",
"Value3":"HHH"
},
{
"Value1":0,
"Value2":"HHHH",
"Value3":"HH"
},
{
"Value1":1,
"Value2":"HHHHHHHHHHHHH",
"Value3":""
},
{
"Value1":1,
"Value2":"HHHHHHHHHHHHHHHHHHH",
"Value3":"1"
},
{
"Value1":2,
"Value2":"HHHHHHHHHHHHHHHHHHHH",
"Value3":"3"
},
{
"Value1":2,
"Value2":"HHHHHHHH",
"Value3":"1"
},
{
"Value1":1,
"Value2":"HHHHHHHHHHHHH",
"Value3":"4"
},
{
"Value1":2,
"Value2":"HHHHHHHHHHHH",
"Value3":"BB"
}
]
},
"Field4":{
"key1":11111111,
"key2":11111111
},
"Field5":{
"key1":[
{
"Value1":1,
"Value2":2
},
{
"Value1":1,
"Value2":2
},
{
"Value1":[
{
"Value2":5
}
],
"Value1":1,
"Value2":2,
"children3":1
}
]
},
"Field6":"HHH_HHHH_HHHHHHHH_HHHH",
"Field7":"HHHHHHHHHHHHHH_HHHHH",
"Field8":"4.1",
"Field9":"12312312"
}
注意:我从this post知道代码不是最有效的,但我找不到有效的解决方案。
编辑1:使用GODEBUG = gctrace = 1运行代码并转到版本go1.4.2 linux / amd64
编辑2:使用GODEBUG = gctrace = 1运行代码并转到版本go1.5 linux / amd64