2024年3月

在github copilot配合加成下,改得还蛮快的。
sqlx没啥不好,我只不过就想用用gorm,和前些年刚好想反,当时是不用gorm用sqlx。
闲,都是闲出来的。

gorm.jpg

CPU极其拉跨,也不排除是运行YABS高占用后自动限制了
其它都还可以。其实往往最不重要的就是CPU,运算能力过剩,所以,用起来感觉还好了。


# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #
#              Yet-Another-Bench-Script              #
#                     v2024-03-05                    #
# https://github.com/masonr/yet-another-bench-script #
# ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## ## #

Sun Mar 24 12:39:03 AM +08 2024

Basic System Information:
---------------------------------
Uptime     : 2 days, 10 hours, 15 minutes
Processor  : QEMU Virtual CPU version 2.5+
CPU cores  : 4 @ 2294.576 MHz
AES-NI     : ✔ Enabled
VM-x/AMD-V : ❌ Disabled
RAM        : 3.8 GiB
Swap       : 0.0 KiB
Disk       : 118.0 GiB
Distro     : Debian GNU/Linux 12 (bookworm)
Kernel     : 6.1.0-18-amd64
VM Type    : KVM
IPv4/IPv6  : ✔ Online / ❌ Offline

IPv4 Network Information:
---------------------------------
ISP        : netcup GmbH
ASN        : AS197540 netcup GmbH
Host       : netcup GmbH
Location   : Nuremberg, Bavaria (BY)
Country    : Germany

fio Disk Speed Tests (Mixed R/W 50/50) (Partition /dev/vda3):
---------------------------------
Block Size | 4k            (IOPS) | 64k           (IOPS)
  ------   | ---            ----  | ----           ----
Read       | 74.15 MB/s   (18.5k) | 1.24 GB/s    (19.4k)
Write      | 74.34 MB/s   (18.5k) | 1.25 GB/s    (19.5k)
Total      | 148.50 MB/s  (37.1k) | 2.49 GB/s    (39.0k)
           |                      |
Block Size | 512k          (IOPS) | 1m            (IOPS)
  ------   | ---            ----  | ----           ----
Read       | 1.67 GB/s     (3.2k) | 1.98 GB/s     (1.9k)
Write      | 1.76 GB/s     (3.4k) | 2.11 GB/s     (2.0k)
Total      | 3.44 GB/s     (6.7k) | 4.09 GB/s     (3.9k)

iperf3 Network Speed Tests (IPv4):
---------------------------------
Provider        | Location (Link)           | Send Speed      | Recv Speed      | Ping
-----           | -----                     | ----            | ----            | ----
Clouvider       | London, UK (10G)          | 1.08 Gbits/sec  | 928 Mbits/sec   | 22.6 ms
Eranium         | Amsterdam, NL (10G)       | 1.08 Gbits/sec  | 938 Mbits/sec   | 11.0 ms
Telia           | Helsinki, FI (10G)        | 1.07 Gbits/sec  | 935 Mbits/sec   | 32.2 ms
Uztelecom       | Tashkent, UZ (10G)        | 397 Mbits/sec   | 746 Mbits/sec   | 107 ms
Leaseweb        | Singapore, SG (10G)       | 831 Mbits/sec   | 733 Mbits/sec   | 257 ms
Clouvider       | Los Angeles, CA, US (10G) | 966 Mbits/sec   | 326 Mbits/sec   | 148 ms
Leaseweb        | NYC, NY, US (10G)         | 1.01 Gbits/sec  | 711 Mbits/sec   | 91.9 ms
Edgoo           | Sao Paulo, BR (1G)        | 908 Mbits/sec   | 202 Mbits/sec   | 178 ms

Running GB6 benchmark test... *cue elevator music*
Geekbench 6 Benchmark Test:
---------------------------------
Test            | Value
                |
Single Core     | 416
Multi Core      | 875
Full Test       | https://browser.geekbench.com/v6/cpu/5436597

一直在犯这个错误,一直还是要继续犯。
select sum(xxx) where xxx,如果where不存在,返回null,而不是0
象是select count(xxx) where xxx,就会老老实实返回0。不知道为什么mysql有这么个奇怪的设定。
这段代码,如果在shop_stock里面找不到指定的shop_id的记录,那么,由于是null,它不能放在int里,后面的adata.Stock将维持上一次查询时的值,而不是预期中的0。

var adata stockstruct
for rows.Next() {
rows.Scan(&adata.Id, &adata.Name)
sql = "select sum(stock) from shop_stock where shopid=?"
dao.DB.Get(&adata.Stock, sql, adata.Id)
.....
}

花5分钟码完代码,收工睡觉。

modify0322.jpg

    time1, _ := strconv.Atoi(c.PostForm("time1"))
    time2, _ := strconv.Atoi(c.PostForm("time2"))
    shopid, _ := strconv.Atoi(c.PostForm("shopid"))
    if (time1 == 0 && time2 != 0) || (time1 != 0 && time2 == 0) {
        reply.Response(500, "时间参数错误")
        return
    }
    if time1 != 0 {
        extracond += " and o.time>=? and o.time<=?"
        args = append(args, time1, time2)
    }
    if shopid != 0 {
        extracond += " and sd.shopid=?"
        args = append(args, shopid)
    }

一大早就开始忙乎。
从昨天晚上开始,腾讯的EdgeOne就工作不正常了,昨晚是只能腾讯的机器访问,其它的所有的,包括阿里什么的通通不行,访问超时,持续了半个小时。 今天早上起来,国内访问倒是没问题了,但海外,包括香港台湾等都不行,起码我看见的就持续了3个小时了。
这个没法玩,还是切回到传统的CDN吧。虽然传统CDN没有EO吹得那么玄乎,什么WAF什么的,不过都不能访问了还谈什么安全。
新东西还是要谨慎,即使是大厂。

root@iZj6c5tq0aoja1jz50madwZ:~# telnet 153.3.223.110 80
Trying 153.3.223.110...
telnet: Unable to connect to remote host: Connection timed out

error.jpg