https://fastapi.tiangolo.com/deployment/server-workers/
目前我在生产服务器中使用 24 个 Uvicorn 工作人员。(c5.2xlarge)
gunicorn main:app --workers 24 --worker-class uvicorn.workers.UvicornWorker --bind 0.0.0.0:80
我了解到一个进程在一个核心上运行。因此,如果我有 8 个进程,我可以利用整个核心(c5.2xlarge 的 vCpu == 8)
我很好奇在这种情况下,如果我的进程数超过 8 个,是否会有任何性能优势?
应用程序.yml
spring:
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/database?serverTimezone=UTC&characterEncoding=UTF-8
username: root
password: password
jpa:
hibernate.ddl-auto: create
generate-ddl: true
database: mysql
properties:
hibernate.dialect: org.hibernate.spatial.dialect.mysql.MySQL56SpatialDialect
logging:
level:
org:
hibernate:
SQL: debug
type: trace
Run Code Online (Sandbox Code Playgroud)
实体类
import com.example.mypackage.domain.BaseTimeEntity;
import lombok.Builder;
import lombok.Getter;
import lombok.NoArgsConstructor;
import org.springframework.data.geo.Point;
import javax.persistence.*;
@Getter
@NoArgsConstructor
@Entity
public class Party extends BaseTimeEntity { // BaseTimeEntity adds modifiedAt, createdAt columns
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
@Column(columnDefinition = "TEXT")
private String title;
@Column(columnDefinition = …Run Code Online (Sandbox Code Playgroud) 我找到了一种使列表填充相同文字的方法。
所以我做了以下事情:
my_list_of_dict = [{}] * 3
my_list_of_dict[0][0] = 1
my_list_of_dict[0][1] = 2
print(my_list_of_dict)
# What I thought : [{0: 1, 1: 2}, {}, {}]
# What actually happened : [{0: 1, 1: 2}, {0: 1, 1: 2}, {0: 1, 1: 2}]
Run Code Online (Sandbox Code Playgroud)
这是错误吗?或预期功能?
似乎python并不是每次都初始化新的dict,而是只是将给定的dict分配给列表。
另外,我该怎么办call(pronouce) [] * n?这是一种列表理解吗?