mirror of
https://github.com/MariaDB/server.git
synced 2026-04-21 15:55:53 +02:00
ndb - shm transporter benchmark result
ndb/docs/wl2077.txt: Add result from micro benchmark with shm-transporter ndb/include/transporter/TransporterRegistry.hpp: Move pid into transporter registry ndb/src/common/transporter/SHM_Transporter.cpp: Move pid into transporter registry ndb/src/common/transporter/TransporterRegistry.cpp: Move pid into transporter registry ndb/src/kernel/main.cpp: Move pid into transporter registry ndb/src/ndbapi/TransporterFacade.cpp: Move pid into transporter registry
This commit is contained in:
parent
f507b37767
commit
7e7a2b32e8
6 changed files with 33 additions and 25 deletions
|
|
@ -3,18 +3,24 @@
|
|||
1 host, 1 ndbd, api co-hosted
|
||||
results in 1000 rows / sec
|
||||
|
||||
wo/reset bounds w/ rb
|
||||
4.1-read committed a) 4.9 b) 7.4
|
||||
4.1-read hold lock c) 4.7 d) 6.7
|
||||
wo/reset bounds w/ rb
|
||||
4.1-read committed a) 4.9 b) 7.4
|
||||
4.1-read hold lock c) 4.7 d) 6.7
|
||||
|
||||
wl2077-read committed 6.4 (+30%) 10.8 (+45%)
|
||||
wl2077-read hold lock 4.6 (-1%) 6.7 (+ 0%)
|
||||
wl2077-read committed 6.4 (+30%) 10.8 (+45%)
|
||||
wl2077-read hold lock 4.6 (-1%) 6.7 (+ 0%)
|
||||
|
||||
-- Comparision e)
|
||||
serial pk: 10.9'
|
||||
batched (1000): 59'
|
||||
serial uniq index: 8.4'
|
||||
batched (1000): 33'
|
||||
5.0-ndb batch read committed f) 50' (+680%) g) 50' (+360%)
|
||||
5.0-ndb batch read hold lock h) 12' (+160%) i) 13' (+79%)
|
||||
|
||||
shm-mem read committed (cmp. wl2077) a) 9.5' (+48%) b) 14' (+30%)
|
||||
read hold lock c) 6.7' (+45%) d) 9.8' (+46%)
|
||||
|
||||
-- Comparision e) shm
|
||||
serial pk: 10.9' 20' (+83%)
|
||||
batched (1000): 59' 62' (+5%)
|
||||
serial uniq index: 8.4' 14' (+66%)
|
||||
batched (1000): 33' 36' (+9%)
|
||||
index range (1000): 186'
|
||||
|
||||
----
|
||||
|
|
@ -25,6 +31,8 @@ b) testScanPerf -s 100000 -c 0 -d 0 -a 1 -l 0 -r 2 -q 1 T1
|
|||
c) testScanPerf -s 100000 -c 0 -d 0 -a 1 -l 1 -r 2 -q 0 T1
|
||||
d) testScanPerf -s 100000 -c 0 -d 0 -a 1 -l 1 -r 2 -q 1 T1
|
||||
e) testReadPerf -i 25 -c 0 -d 0 T1
|
||||
f) testScanPerf -s 100000 -c 0 -d 0 -a 1 -l 0 -r 3 -q 0 -m 1000 -i 10 T1
|
||||
g) testScanPerf -s 100000 -c 0 -d 0 -a 1 -l 0 -r 3 -q 1 -m 1000 -i 10 T1
|
||||
|
||||
--- music join 1db-co 2db-co
|
||||
|
||||
|
|
@ -33,3 +41,8 @@ e) testReadPerf -i 25 -c 0 -d 0 T1
|
|||
|
||||
wl2077 12s 14s
|
||||
wl2077 wo/ blobs 1.2s (-30%) 2.5s (-22%)
|
||||
|
||||
pekka-blob-fix 1.3s
|
||||
|
||||
shm 1.2s 2.0s
|
||||
shm wo/ blobs 1.1s 2.0s
|
||||
|
|
|
|||
|
|
@ -312,6 +312,8 @@ private:
|
|||
Uint32 poll_TCP(Uint32 timeOutMillis);
|
||||
Uint32 poll_SCI(Uint32 timeOutMillis);
|
||||
Uint32 poll_SHM(Uint32 timeOutMillis);
|
||||
|
||||
int m_shm_own_pid;
|
||||
};
|
||||
|
||||
#endif // Define of TransporterRegistry_H
|
||||
|
|
|
|||
|
|
@ -214,7 +214,8 @@ SHM_Transporter::connect_server_impl(NDB_SOCKET_TYPE sockfd)
|
|||
}
|
||||
|
||||
// Send ok to client
|
||||
s_output.println("shm server 1 ok: %d", g_shm_pid);
|
||||
s_output.println("shm server 1 ok: %d",
|
||||
m_transporter_registry.m_shm_own_pid);
|
||||
|
||||
// Wait for ok from client
|
||||
if (s_input.gets(buf, 256) == 0)
|
||||
|
|
@ -293,7 +294,8 @@ SHM_Transporter::connect_client_impl(NDB_SOCKET_TYPE sockfd)
|
|||
}
|
||||
|
||||
// Send ok to server
|
||||
s_output.println("shm client 1 ok: %d", g_shm_pid);
|
||||
s_output.println("shm client 1 ok: %d",
|
||||
m_transporter_registry.m_shm_own_pid);
|
||||
|
||||
int r= connect_common(sockfd);
|
||||
|
||||
|
|
|
|||
|
|
@ -1273,10 +1273,8 @@ TransporterRegistry::startReceiving()
|
|||
#endif
|
||||
|
||||
#ifdef NDB_SHM_TRANSPORTER
|
||||
if(nSHMTransporters)
|
||||
{
|
||||
signal(SIGUSR1, shm_sig_handler);
|
||||
}
|
||||
m_shm_own_pid = getpid();
|
||||
signal(SIGUSR1, shm_sig_handler);
|
||||
#endif
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -49,8 +49,6 @@ void catchsigs(bool ignore); // for process signal handling
|
|||
extern "C" void handler_shutdown(int signum); // for process signal handling
|
||||
extern "C" void handler_error(int signum); // for process signal handling
|
||||
|
||||
extern int g_shm_pid;
|
||||
|
||||
// Shows system information
|
||||
void systemInfo(const Configuration & conf,
|
||||
const LogLevel & ll);
|
||||
|
|
@ -147,7 +145,6 @@ int main(int argc, char** argv)
|
|||
}
|
||||
|
||||
g_eventLogger.info("Angel pid: %d ndb pid: %d", getppid(), getpid());
|
||||
g_shm_pid = getpid();
|
||||
theConfig->setupConfiguration();
|
||||
systemInfo(* theConfig, * theConfig->m_logLevel);
|
||||
|
||||
|
|
|
|||
|
|
@ -450,12 +450,8 @@ runReceiveResponse_C(void * me)
|
|||
return me;
|
||||
}
|
||||
|
||||
extern int g_shm_pid;
|
||||
|
||||
void TransporterFacade::threadMainReceive(void)
|
||||
{
|
||||
g_shm_pid = getpid();
|
||||
|
||||
theTransporterRegistry->startReceiving();
|
||||
NdbMutex_Lock(theMutexPtr);
|
||||
theTransporterRegistry->update_connections();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue