Commit 7e7a2b32 authored by unknown's avatar unknown

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
parent f507b377
...@@ -3,18 +3,24 @@ ...@@ -3,18 +3,24 @@
1 host, 1 ndbd, api co-hosted 1 host, 1 ndbd, api co-hosted
results in 1000 rows / sec results in 1000 rows / sec
wo/reset bounds w/ rb wo/reset bounds w/ rb
4.1-read committed a) 4.9 b) 7.4 4.1-read committed a) 4.9 b) 7.4
4.1-read hold lock c) 4.7 d) 6.7 4.1-read hold lock c) 4.7 d) 6.7
wl2077-read committed 6.4 (+30%) 10.8 (+45%) wl2077-read committed 6.4 (+30%) 10.8 (+45%)
wl2077-read hold lock 4.6 (-1%) 6.7 (+ 0%) wl2077-read hold lock 4.6 (-1%) 6.7 (+ 0%)
-- Comparision e) 5.0-ndb batch read committed f) 50' (+680%) g) 50' (+360%)
serial pk: 10.9' 5.0-ndb batch read hold lock h) 12' (+160%) i) 13' (+79%)
batched (1000): 59'
serial uniq index: 8.4' shm-mem read committed (cmp. wl2077) a) 9.5' (+48%) b) 14' (+30%)
batched (1000): 33' 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' 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 ...@@ -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 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 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 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 --- music join 1db-co 2db-co
...@@ -33,3 +41,8 @@ e) testReadPerf -i 25 -c 0 -d 0 T1 ...@@ -33,3 +41,8 @@ e) testReadPerf -i 25 -c 0 -d 0 T1
wl2077 12s 14s wl2077 12s 14s
wl2077 wo/ blobs 1.2s (-30%) 2.5s (-22%) 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: ...@@ -312,6 +312,8 @@ private:
Uint32 poll_TCP(Uint32 timeOutMillis); Uint32 poll_TCP(Uint32 timeOutMillis);
Uint32 poll_SCI(Uint32 timeOutMillis); Uint32 poll_SCI(Uint32 timeOutMillis);
Uint32 poll_SHM(Uint32 timeOutMillis); Uint32 poll_SHM(Uint32 timeOutMillis);
int m_shm_own_pid;
}; };
#endif // Define of TransporterRegistry_H #endif // Define of TransporterRegistry_H
...@@ -214,7 +214,8 @@ SHM_Transporter::connect_server_impl(NDB_SOCKET_TYPE sockfd) ...@@ -214,7 +214,8 @@ SHM_Transporter::connect_server_impl(NDB_SOCKET_TYPE sockfd)
} }
// Send ok to client // 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 // Wait for ok from client
if (s_input.gets(buf, 256) == 0) if (s_input.gets(buf, 256) == 0)
...@@ -293,7 +294,8 @@ SHM_Transporter::connect_client_impl(NDB_SOCKET_TYPE sockfd) ...@@ -293,7 +294,8 @@ SHM_Transporter::connect_client_impl(NDB_SOCKET_TYPE sockfd)
} }
// Send ok to server // 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); int r= connect_common(sockfd);
......
...@@ -1273,10 +1273,8 @@ TransporterRegistry::startReceiving() ...@@ -1273,10 +1273,8 @@ TransporterRegistry::startReceiving()
#endif #endif
#ifdef NDB_SHM_TRANSPORTER #ifdef NDB_SHM_TRANSPORTER
if(nSHMTransporters) m_shm_own_pid = getpid();
{ signal(SIGUSR1, shm_sig_handler);
signal(SIGUSR1, shm_sig_handler);
}
#endif #endif
} }
......
...@@ -49,8 +49,6 @@ void catchsigs(bool ignore); // for process signal handling ...@@ -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_shutdown(int signum); // for process signal handling
extern "C" void handler_error(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 // Shows system information
void systemInfo(const Configuration & conf, void systemInfo(const Configuration & conf,
const LogLevel & ll); const LogLevel & ll);
...@@ -147,7 +145,6 @@ int main(int argc, char** argv) ...@@ -147,7 +145,6 @@ int main(int argc, char** argv)
} }
g_eventLogger.info("Angel pid: %d ndb pid: %d", getppid(), getpid()); g_eventLogger.info("Angel pid: %d ndb pid: %d", getppid(), getpid());
g_shm_pid = getpid();
theConfig->setupConfiguration(); theConfig->setupConfiguration();
systemInfo(* theConfig, * theConfig->m_logLevel); systemInfo(* theConfig, * theConfig->m_logLevel);
......
...@@ -450,12 +450,8 @@ runReceiveResponse_C(void * me) ...@@ -450,12 +450,8 @@ runReceiveResponse_C(void * me)
return me; return me;
} }
extern int g_shm_pid;
void TransporterFacade::threadMainReceive(void) void TransporterFacade::threadMainReceive(void)
{ {
g_shm_pid = getpid();
theTransporterRegistry->startReceiving(); theTransporterRegistry->startReceiving();
NdbMutex_Lock(theMutexPtr); NdbMutex_Lock(theMutexPtr);
theTransporterRegistry->update_connections(); theTransporterRegistry->update_connections();
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment