Skip to content

update#1

Merged
dushibaiyu merged 781 commits intohuntlabs:masterfrom
TechEmpower:master
Mar 21, 2017
Merged

update#1
dushibaiyu merged 781 commits intohuntlabs:masterfrom
TechEmpower:master

Conversation

@dushibaiyu
Copy link
Copy Markdown

No description provided.

jaguililla and others added 30 commits December 27, 2016 11:26
Remove servlet3-cass from .travis.yml
Apply fixes for Resing test as stated in #2421
* pimf framework removal
:

* removing the right framework is a good thing.
* Cakephp fix

* add comment for redis config removal
* remove redis implementation

* combine default test
CSharp/servicestack remove long-failing tests
* fixed postgresql typo

* fix setup file locations
* update clang

* add the gpg keys
e-kazakov and others added 23 commits February 15, 2017 19:54
* quick vagrant fix

* Vagrant work

* vagrant work

* vagrant

* force remove file
Swift lang, Vapor framework.
* Updating Jooby Framework from 0.16.0 to 1.0.3

* Update Jooby jdbc configuration with useServerPrepStmts=true

* Adding fortunes test to Jooby

* add fortunes test to benchmark configuration for Jooby
* cutelyst: Use a mutex locker for all database types

QSqlDatabase::addDatabase is not thread-safe, so
using a QMutexLocker for all databases is safer and
is only used when connecting the first time to the
database.

* cutelyst: update to cutelyst 1.4.0 and enable jemalloc

* cutelyst: Adjust cutelyst-wsgi to 1.4.0 and add tests with Epoll
Go 1.8 is out. So let's use it in benchmarks.
* H2O: Improve error logging

Also, do not include the raw database error messages in the HTTP
response bodies due to security concerns.

* H2O: Support HTTP and HTTPS simultaneously

* H2O: Make several TLS support improvements

* Disable the 3DES and RC4 ciphers because they are weak.
* Enable ECDH in order to add forward secrecy.
* Enable ALPN to support HTTP/2 properly.

The last two changes require that the application be built
and linked against OpenSSL versions greater than or equal
to 1.0.2.
[ci fw-only Ruby/rack-sequel Ruby/roda-sequel Ruby/sinatra-sequel]
* added mention bot

* fix markdown
* quick vagrant fix

* all that js

* add queryCache back in for ringojs
[ci fw-only Ruby/rack-sequel Ruby/roda-sequel Ruby/sinatra-sequel Ruby/sinatra]
Put the entire results directory into a zip archive on the local disk.
Preserve the directory structure in the archive (previously the archive
was flat) and actually compress the contents (previous they were not
compressed).  Do not attempt to send an email.
* [Ruby] Stylistic fidgeting

[ci fw-only Ruby/rack-sequel Ruby/roda-sequel Ruby/sinatra-sequel Ruby/sinatra]

* [Ruby] Fix Sysrandom invocation

[ci fw-only Ruby/sinatra Ruby/sinatra-sequel Ruby/rack-sequel Ruby/roda-sequel]

* [Ruby] Upgrade to Sequel 4.44 and call Sequel::Model.freeze

[ci fw-only Ruby/sinatra Ruby/sinatra-sequel Ruby/rack-sequel Ruby/roda-sequel]

* [Ruby] Bump Sinatra to 2.0 release candidate and add micro op

[ci fw-only Ruby/sinatra Ruby/sinatra-sequel Ruby/rack-sequel Ruby/roda-sequel]
* update act to release version 1.0.2

* update ACT README
vagrant directory was wrong
* cutelyst: Update to 1.5.0

* Cutelyst: Fix update to 1.5.0 as using v tags results in a different output directory
* Updated weppy framework to 1.0

* Updated weppy to 1.0.1
(Tracked internally as 51323)

The new fields are:
  name
  environmentDescription
  completionTime
  uuid

The name and environmentDescription are configurable using these new
configuration parameters:
  results_name
  results_environment

The results_name parameter is treated as a date format string.
…2596)

[ci fw-only Ruby/rack-sequel Ruby/roda-sequel Ruby/sinatra-sequel]
This is designed for use with continuous benchmarking.

Currently, we run continuous benchmarking as an upstart script.  By
default it puts everything sent to stdout into a file like
/var/log/upstart/tfb.log.  This log file is absolutely enormous -- it
contains everything printed by every framework.  It's so big that it
fills up the disk of our test environments before a single iteration of
the full test suite completes.

We work around this by disabling the upstart log completely (declaring
"console none" in its config), but that's not ideal because then we have
no logs at all.

With this change, with quiet mode enabled, we print much, much less to
stdout.  There should only be a few lines printed per framework.  This
will let us enable the upstart logs again, which should be useful when
trying to answer questions like, "Which framework are we testing right
now?"
This adds another benchmark.cfg / command line parameter named
"results_upload_uri".  If specified, the benchmarker will attempt to
POST the (in-progress) results.json file to that URI between each test.

Additionally, if a "TFB_UPLOADURI" environment variable is defined, then
the continuous benchmarking scripts will attempt to POST the full
results.zip (basically the full results directory, including log files)
to that URI after each full iteration of the entire test suite.

Internally (in the server environments that TechEmpower manages), these
URIs are intended to point at a new, standalone web application (which
is currently in development and not open source) designed to help us
collect and analyze the results.
@dushibaiyu dushibaiyu merged commit 5231f44 into huntlabs:master Mar 21, 2017
dushibaiyu pushed a commit that referenced this pull request Mar 21, 2017
Heromyth pushed a commit that referenced this pull request May 4, 2018
* Setup GC Threads on Amber

* Setup GC threads on Kemal/Postgres

* Setup GC Threads on Kemal/Redis

* Setup GC Thread on Crystal server

* Remove GC_NPROCS

It is safer to adjust GC_MARKERS than GC_NPROCS,
since GC_MARKERS has no impact on the lock implementation.

* Remove GC_NPROCS

It is safer to adjust GC_MARKERS than GC_NPROCS,
since GC_MARKERS has no impact on the lock implementation.

* Remove GC_NPROCS

It is safer to adjust GC_MARKERS than GC_NPROCS,
since GC_MARKERS has no impact on the lock implementation.

* Remove GC_NPROCS

It is safer to adjust GC_MARKERS than GC_NPROCS,
since GC_MARKERS has no impact on the lock implementation.

* Minify HTML

* Minify HTML

* Remove extra variable

* Minify HTML

* Minify HTML

* Update amber dependencies

* Update shard.lock

* Remove env

* Add AMBER_ENV to enable production mode

* Format html view

* Format html view

* Format html view

* Format html view

* Ensure type is String

Convert type from (String | Nil) to String

* Change data to fortunes

* Defines amber pipeline

* Set production env (#1)

* Set production environments on Kemal and Amber

* Remove unnedded require
Heromyth pushed a commit that referenced this pull request May 4, 2018
…echEmpower#3220)

I think we are running into this problem:

  facebook/hhvm#8111

We don't solve that problem, but we avoid it by specifying utf8 in a
different fashion.  I also took the opportunity to use the "TFB-database"
hostname instead of the DBHOST environment variable because it's simpler
that way.

Here are the steps I took in a local TFB environment that make me think
we're running into the same issue as that GitHub issue:

 - Run toolset/run-tests.py --mode verify --test hvm, see that it fails
   all tests with error messages that look like the application server
   simply isn't there
 - Enable logging in PHP/hhvm/deploy/config.hdf (basically copy the
   "Log" section over from config-debug.hdf), run the test again
 - Look at the log file it spit out, PHP/hhvm/error.log, notice messages
   like this:

    Core dumped: Segmentation fault
    Stack trace in /tmp/stacktrace.28653.log

 - /tmp is cleared by the TFB toolset each run, so I comment out that
   part of benchmarker.py that clears /tmp
 - Run the test again, look at the stacktrace file in /tmp, notice a
   stack trace referring to our implementation code like this:

    #0  PDO->__construct() called at [/home/techempower/FrameworkBenchmarks/frameworks/PHP/hhvm/once.php.inc:14]
    #1  Benchmark->setup_db() called at [/home/techempower/FrameworkBenchmarks/frameworks/PHP/hhvm/once.php.inc:31]
    TechEmpower#2  Benchmark->bench_db() called at [/home/techempower/FrameworkBenchmarks/frameworks/PHP/hhvm/db.php:10]
    TechEmpower#3  main() called at [/home/techempower/FrameworkBenchmarks/frameworks/PHP/hhvm/db.php:13]

 - Google a bit, come across a GitHub issue talking about a similar
   problem when they used "SET NAMES"
 - Comment the part of PHP/hhvm/once.php.inc that uses SET NAMES, run
   test again and it worked, except for fortunes which failed because of
   character encoding problems
 - Google for a different way to specify utf8 in the PDO constructor,
   try it again, all tests pass locally
Heromyth pushed a commit that referenced this pull request May 4, 2018
Here's an example of the error output from before this change:

Unhandled exception:
Bad state: Stream was already listened to
#0      _RawServerSocket.listen (dart:io-patch/socket_patch.dart:1106)
#1      new _ForwardingStreamSubscription (dart:async/stream_pipe.dart:123)
TechEmpower#2      _ForwardingStream._createSubscription (dart:async/stream_pipe.dart:91)
TechEmpower#3      _ForwardingStream.listen (dart:async/stream_pipe.dart:86)
TechEmpower#4      _ServerSocket.listen (dart:io-patch/socket_patch.dart:1351)
TechEmpower#5      _HttpServer.listen (dart:io/http_impl.dart:2278)
TechEmpower#6      _startServer.<anonymous closure> (file:///server.dart:88:12)
TechEmpower#7      _RootZone.runUnary (dart:async/zone.dart:1371)
TechEmpower#8      _FutureListener.handleValue (dart:async/future_impl.dart:129)
TechEmpower#9      _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:636)
TechEmpower#10     _Future._propagateToListeners (dart:async/future_impl.dart:665)
TechEmpower#11     _Future._completeWithValue (dart:async/future_impl.dart:478)
TechEmpower#12     Future.wait.<anonymous closure> (dart:async/future.dart:362)
TechEmpower#13     _RootZone.runUnary (dart:async/zone.dart:1371)
TechEmpower#14     _FutureListener.handleValue (dart:async/future_impl.dart:129)
TechEmpower#15     _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:636)
TechEmpower#16     _Future._propagateToListeners (dart:async/future_impl.dart:665)
TechEmpower#17     _Future._completeWithValue (dart:async/future_impl.dart:478)
TechEmpower#18     Future.wait.<anonymous closure> (dart:async/future.dart:362)
TechEmpower#19     _RootZone.runUnary (dart:async/zone.dart:1371)
TechEmpower#20     _FutureListener.handleValue (dart:async/future_impl.dart:129)
TechEmpower#21     _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:636)
TechEmpower#22     _Future._propagateToListeners (dart:async/future_impl.dart:665)
TechEmpower#23     _Future._completeWithValue (dart:async/future_impl.dart:478)
TechEmpower#24     _Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:510)
TechEmpower#25     _microtaskLoop (dart:async/schedule_microtask.dart:41)
TechEmpower#26     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50)
TechEmpower#27     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:99)
TechEmpower#28     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:152)
Heromyth pushed a commit that referenced this pull request Dec 7, 2018
Heromyth pushed a commit that referenced this pull request Apr 17, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.