diff options
Diffstat (limited to 'ndb')
-rw-r--r-- | ndb/docs/wl2077.txt | 37 | ||||
-rw-r--r-- | ndb/include/transporter/TransporterRegistry.hpp | 2 | ||||
-rw-r--r-- | ndb/src/common/transporter/SHM_Transporter.cpp | 6 | ||||
-rw-r--r-- | ndb/src/common/transporter/TransporterRegistry.cpp | 6 | ||||
-rw-r--r-- | ndb/src/kernel/main.cpp | 3 | ||||
-rw-r--r-- | ndb/src/ndbapi/TransporterFacade.cpp | 4 |
6 files changed, 33 insertions, 25 deletions
diff --git a/ndb/docs/wl2077.txt b/ndb/docs/wl2077.txt index 5a77c18aa2a..f5b10bb702e 100644 --- a/ndb/docs/wl2077.txt +++ b/ndb/docs/wl2077.txt @@ -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 - -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' + 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%) + +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 diff --git a/ndb/include/transporter/TransporterRegistry.hpp b/ndb/include/transporter/TransporterRegistry.hpp index ac6291f9e57..4ca288d0a0a 100644 --- a/ndb/include/transporter/TransporterRegistry.hpp +++ b/ndb/include/transporter/TransporterRegistry.hpp @@ -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 diff --git a/ndb/src/common/transporter/SHM_Transporter.cpp b/ndb/src/common/transporter/SHM_Transporter.cpp index 7c2c2aafb85..e4051519b86 100644 --- a/ndb/src/common/transporter/SHM_Transporter.cpp +++ b/ndb/src/common/transporter/SHM_Transporter.cpp @@ -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); diff --git a/ndb/src/common/transporter/TransporterRegistry.cpp b/ndb/src/common/transporter/TransporterRegistry.cpp index 61924fe55b2..77e72a4fa2c 100644 --- a/ndb/src/common/transporter/TransporterRegistry.cpp +++ b/ndb/src/common/transporter/TransporterRegistry.cpp @@ -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 } diff --git a/ndb/src/kernel/main.cpp b/ndb/src/kernel/main.cpp index 7d6b597e6dd..926647838c9 100644 --- a/ndb/src/kernel/main.cpp +++ b/ndb/src/kernel/main.cpp @@ -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); diff --git a/ndb/src/ndbapi/TransporterFacade.cpp b/ndb/src/ndbapi/TransporterFacade.cpp index f6a7496decc..dfb090c8416 100644 --- a/ndb/src/ndbapi/TransporterFacade.cpp +++ b/ndb/src/ndbapi/TransporterFacade.cpp @@ -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(); |