mirror of https://github.com/ledisdb/ledisdb.git
add conn buffer config
This commit is contained in:
parent
57d60b0ce0
commit
53072735f6
|
@ -110,6 +110,9 @@ type Config struct {
|
||||||
Replication ReplicationConfig `toml:"replication"`
|
Replication ReplicationConfig `toml:"replication"`
|
||||||
|
|
||||||
Snapshot SnapshotConfig `toml:"snapshot"`
|
Snapshot SnapshotConfig `toml:"snapshot"`
|
||||||
|
|
||||||
|
ConnReadBufferSize int `toml:"conn_read_buffer_size"`
|
||||||
|
ConnWriteBufferSize int `toml:"conn_write_buffer_size"`
|
||||||
}
|
}
|
||||||
|
|
||||||
func NewConfigWithFile(fileName string) (*Config, error) {
|
func NewConfigWithFile(fileName string) (*Config, error) {
|
||||||
|
@ -191,6 +194,8 @@ func (cfg *Config) adjust() {
|
||||||
cfg.RocksDB.adjust()
|
cfg.RocksDB.adjust()
|
||||||
|
|
||||||
cfg.Replication.ExpiredLogDays = getDefault(7, cfg.Replication.ExpiredLogDays)
|
cfg.Replication.ExpiredLogDays = getDefault(7, cfg.Replication.ExpiredLogDays)
|
||||||
|
cfg.ConnReadBufferSize = getDefault(4*KB, cfg.ConnReadBufferSize)
|
||||||
|
cfg.ConnWriteBufferSize = getDefault(4*KB, cfg.ConnWriteBufferSize)
|
||||||
}
|
}
|
||||||
|
|
||||||
func (cfg *LevelDBConfig) adjust() {
|
func (cfg *LevelDBConfig) adjust() {
|
||||||
|
|
|
@ -43,6 +43,10 @@ db_sync_commit = 0
|
||||||
# enable replication or not
|
# enable replication or not
|
||||||
use_replication = true
|
use_replication = true
|
||||||
|
|
||||||
|
# set connection buffer, you can increase them appropriately
|
||||||
|
conn_read_buffer_size = 10240
|
||||||
|
conn_write_buffer_size = 10240
|
||||||
|
|
||||||
[leveldb]
|
[leveldb]
|
||||||
# for leveldb and goleveldb
|
# for leveldb and goleveldb
|
||||||
compression = false
|
compression = false
|
||||||
|
|
|
@ -33,9 +33,13 @@ func newClientRESP(conn net.Conn, app *App) {
|
||||||
c.client = newClient(app)
|
c.client = newClient(app)
|
||||||
c.conn = conn
|
c.conn = conn
|
||||||
|
|
||||||
c.rb = bufio.NewReaderSize(conn, 4096)
|
if tcpConn, ok := conn.(*net.TCPConn); ok {
|
||||||
|
tcpConn.SetReadBuffer(app.cfg.ConnReadBufferSize)
|
||||||
|
tcpConn.SetWriteBuffer(app.cfg.ConnWriteBufferSize)
|
||||||
|
}
|
||||||
|
c.rb = bufio.NewReaderSize(conn, app.cfg.ConnReadBufferSize)
|
||||||
|
|
||||||
c.resp = newWriterRESP(conn)
|
c.resp = newWriterRESP(conn, app.cfg.ConnWriteBufferSize)
|
||||||
c.remoteAddr = conn.RemoteAddr().String()
|
c.remoteAddr = conn.RemoteAddr().String()
|
||||||
|
|
||||||
go c.run()
|
go c.run()
|
||||||
|
@ -158,9 +162,9 @@ func (c *respClient) handleRequest(reqData [][]byte) {
|
||||||
|
|
||||||
// response writer
|
// response writer
|
||||||
|
|
||||||
func newWriterRESP(conn net.Conn) *respWriter {
|
func newWriterRESP(conn net.Conn, size int) *respWriter {
|
||||||
w := new(respWriter)
|
w := new(respWriter)
|
||||||
w.buff = bufio.NewWriterSize(conn, 256)
|
w.buff = bufio.NewWriterSize(conn, size)
|
||||||
return w
|
return w
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue