From owner-freebsd-hackers Fri Aug 14 09:35:51 1998 Return-Path: Received: (from majordom@localhost) by hub.freebsd.org (8.8.8/8.8.8) id JAA21294 for freebsd-hackers-outgoing; Fri, 14 Aug 1998 09:35:51 -0700 (PDT) (envelope-from owner-freebsd-hackers@FreeBSD.ORG) Received: from omnix.net (omnix.net [194.183.217.130]) by hub.freebsd.org (8.8.8/8.8.8) with ESMTP id JAA21289 for ; Fri, 14 Aug 1998 09:35:49 -0700 (PDT) (envelope-from didier@omnix.net) Received: from localhost (didier@localhost) by omnix.net (8.8.7/8.8.7) with SMTP id QAA10218; Fri, 14 Aug 1998 16:35:19 GMT (envelope-from didier@omnix.net) Date: Fri, 14 Aug 1998 18:35:19 +0200 (CEST) From: Didier Derny To: hackers@FreeBSD.ORG cc: support@yard.de Subject: Yard/FreeBSD Problem (Re: database for tests (fwd)) Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Sender: owner-freebsd-hackers@FreeBSD.ORG Precedence: bulk X-Loop: FreeBSD.ORG With my patch on the tcp_output, The program is executed (for the 8000 records of the normal file in less than 2minutes) It seems do be considerably faster with FreeBSD+patch than Linux I send a copy of your message to the hackers mailing list, hoping that someone has a clue. this week end I'll do some test myself with linux. I'll also try to rewrite the small program in ESQL to compare the results. the main problem for me is that that people who will be using perl/dbi have never programmed in C. (and will never) That's why I have to find a reliable solution. I'm ready to do any testing you want to help you. by the way, setting the "net.inet.tcp.delayed_ack=0" on FreeBSD 3.0 as the same result as my hack in the 2.2.5 Kernel. For the entire program, the long one (with the entire database) without the hack or ..delayed_ack --> running time 2 hours with ..delayed_ack=0 --> running time 2 minutes. on a pentium II with 96Mb of Memory. -- Didier Derny didier@omnix.net ---------- Forwarded message ---------- Hi, I ran your (small version) program on our Linux site. It's compared to FreeBSD 15 times faster, which indicates a FreeBSD problem. When the program is running on FreeBSD, vmstat reports at least 95% idle time, which also points to a problem in the kernel. In addition, you have to consider an overhead of the Perl interface in opposite to eg. ESQLC. Perl will declare/open/fetch/close/free for each SELECT, which will result in many small packages transmitted through TCP. I assume the TCP_NODELAY flag doesn't work because it doesn't make sense for the client not to wait for the TCP acknowledge, because it has to wait for the servers response anyway. If possible, consider to implement your program in ESQLC, which will be probably much faster. Best Regards Thomas Schonhoven -- ///!! ///!! //!! ////////////!! ///////////!! ///!! ///!! ////!! ///!! ///!! ///!! ///!! ///!! ///!! //////!! ///!! ///!! ///!! ///!! ///!! ///!! ///!////!! ///////////!! ///!! ///!! ///!! ///!! ///!! ////!! //////////!! ///!! ///!! //////!! ///!! ////!! ///!! ///!! ///!! ///!! ////!! //////////////!! ///!! ///!! ///!! ///!! ////!! ////!! ////!! ///!! ///!! ///////////!! YARD Software GmbH YARD Software Ltd. Wikingerstr. 18 - 20 Wikingerstr. 18 - 20 51107 Koeln 51107 Cologne Tel.: +4922198664-0 FAX.: +4922198664-99 E-Mail: support@yard.de FTP : ftp.yard.de WWW : http://www.yard.de To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-hackers" in the body of the message